Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.74 KB | None | 0 0
  1. package com.example.sigrundish.actio;
  2.  
  3.  
  4. import android.app.TimePickerDialog;
  5. import android.app.DatePickerDialog;
  6. import android.content.Intent;
  7. import android.os.Bundle;
  8. import android.support.v4.app.Fragment;
  9. import android.text.Editable;
  10. import android.text.TextWatcher;
  11. import android.view.LayoutInflater;
  12. import android.view.View;
  13. import android.view.ViewGroup;
  14. import android.widget.Button;
  15. import android.widget.DatePicker;
  16.  
  17. import android.widget.EditText;
  18. import android.widget.TextView;
  19. import android.widget.TimePicker;
  20. import android.widget.Toast;
  21.  
  22. import com.android.volley.Request;
  23. import com.android.volley.RequestQueue;
  24. import com.android.volley.Response;
  25. import com.android.volley.VolleyError;
  26. import com.android.volley.toolbox.JsonObjectRequest;
  27. import com.android.volley.toolbox.Volley;
  28.  
  29. import org.json.JSONObject;
  30.  
  31. import java.text.DateFormat;
  32. import java.text.SimpleDateFormat;
  33. import java.util.Calendar;
  34. import java.util.Date;
  35. import java.util.HashMap;
  36.  
  37. /**
  38.  * Created by sigrundish on 25.2.2018.
  39.  */
  40.  
  41. public class ActivityFragment  extends Fragment   {
  42.     private Activity mActivity;
  43.     private EditText mTitleField;
  44.     private EditText mDescriptionField;
  45.     private EditText mLocationField;
  46.     private Button bCreateActivity;
  47.     private User user;
  48.  
  49.     private Button btStartDate,btEndDate,btStartTime,btEndTime;
  50.     private Calendar calendar;
  51.     private TextView twStartTime,twEndTime,twStartDate,twEndDate;
  52.     private int startHour, startMinute,endHour,endMinute, startYear, startMonth, startDay,endYear,endMonth,endDay;
  53.     private Date startTime,endTime;
  54.     final String url = "http://actio-server.herokuapp.com/activities";
  55.  
  56.  
  57.     @Override
  58.     public void onCreate (Bundle savedInstanceState) {
  59.         super.onCreate(savedInstanceState);
  60.         mActivity = new Activity();
  61.  
  62.     }
  63.  
  64.     @Override
  65.     public View onCreateView(LayoutInflater inflater, ViewGroup container,
  66.                              Bundle savedInstanceState) {
  67.         View v = inflater.inflate(R.layout.fragment_activity, container, false);
  68.         calendar = Calendar.getInstance();
  69.         user = (User)getActivity().getIntent().getSerializableExtra("user");
  70.  
  71.         startHour = calendar.get(Calendar.HOUR_OF_DAY);
  72.         startMinute = calendar.get(Calendar.MINUTE);
  73.         endHour = calendar.get(Calendar.HOUR_OF_DAY);
  74.         endMinute  = calendar.get(Calendar.MINUTE);
  75.         startYear = calendar.get(Calendar.YEAR);
  76.         startMonth = calendar.get(Calendar.MONTH);
  77.         startDay =  calendar.get(Calendar.DAY_OF_MONTH);
  78.         twStartTime = (TextView) v.findViewById(R.id.twStartTime);
  79.         twEndTime =(TextView) v.findViewById(R.id.twEndTime);
  80.         twStartDate = (TextView) v.findViewById(R.id.twStartDate);
  81.         twEndDate = (TextView) v.findViewById(R.id.twEndDate);
  82.  
  83.  
  84.  
  85.         mTitleField = (EditText) v.findViewById(R.id.activity_title);
  86.         mTitleField.addTextChangedListener(new TextWatcher() {
  87.             @Override
  88.             public void beforeTextChanged (
  89.                     CharSequence s, int start, int count, int after) {
  90.                 // blank
  91.             }
  92.             @Override
  93.             public void onTextChanged(
  94.                     CharSequence s, int start, int before, int count) {
  95.                 mActivity.setTitle(s.toString());
  96.             }
  97.             @Override
  98.             public void afterTextChanged(Editable s) {
  99.                 // Blank
  100.             }
  101.  
  102.         });
  103.  
  104.         mDescriptionField = (EditText) v.findViewById(R.id.activity_description);
  105.         mDescriptionField.addTextChangedListener(new TextWatcher() {
  106.             @Override
  107.             public void beforeTextChanged (
  108.                     CharSequence s, int start, int count, int after) {
  109.                 // blank
  110.             }
  111.             @Override
  112.             public void onTextChanged(
  113.                     CharSequence s, int start, int before, int count) {
  114.                 mActivity.setDescription(s.toString());
  115.             }
  116.             @Override
  117.             public void afterTextChanged(Editable s) {
  118.                 // Blank
  119.             }
  120.  
  121.         });
  122.  
  123.         mLocationField = (EditText) v.findViewById(R.id.activity_location);
  124.         mLocationField.addTextChangedListener(new TextWatcher() {
  125.             @Override
  126.             public void beforeTextChanged (
  127.                     CharSequence s, int start, int count, int after) {
  128.                 // blank
  129.             }
  130.             @Override
  131.             public void onTextChanged(
  132.                     CharSequence s, int start, int before, int count) {
  133.                 mActivity.setLocation(s.toString());
  134.             }
  135.             @Override
  136.             public void afterTextChanged(Editable s) {
  137.                 // Blank
  138.             }
  139.  
  140.         });
  141.  
  142.         btStartTime = (Button) v.findViewById(R.id.btStartTime);
  143.  
  144.         btStartTime.setOnClickListener(new View.OnClickListener() {
  145.             @Override
  146.             public void onClick(View view) {
  147.                 TimePickerDialog dialog=new TimePickerDialog(getActivity(), new TimePickerDialog.OnTimeSetListener() {
  148.                     @Override
  149.                     public void onTimeSet(TimePicker timePicker, int hour, int min) {
  150.                         //set selected time to textview
  151.                         startHour = hour;
  152.                         startMinute = min;
  153.                         twStartTime.setText("Starting time " + startHour + ":" + startMinute);
  154.                     }
  155.                 }, startHour, startMinute,true);
  156.                 dialog.show();
  157.             }
  158.         });
  159.  
  160.         btEndTime =(Button) v.findViewById(R.id.btEndTime);
  161.  
  162.         btEndTime.setOnClickListener(new View.OnClickListener() {
  163.             @Override
  164.             public void onClick(View view) {
  165.                 TimePickerDialog dialog2=new TimePickerDialog(getActivity(), new TimePickerDialog.OnTimeSetListener() {
  166.                     @Override
  167.                     public void onTimeSet(TimePicker timePicker, int hour, int min) {
  168.                         //set selected time to textview
  169.                         endHour = hour;
  170.                         endMinute = min;
  171.                         twEndTime.setText("Ending time " + endHour + ":" + endMinute);
  172.                     }
  173.                 }, endHour, endMinute,true);
  174.                 dialog2.show();
  175.             }
  176.         });
  177.  
  178.         btStartDate = (Button) v.findViewById(R.id.btStartDate);
  179.  
  180.         btStartDate.setOnClickListener(new View.OnClickListener() {
  181.             @Override
  182.             public void onClick(View view) {
  183.                 DatePickerDialog dialog3 =  new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
  184.                     @Override
  185.                     public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
  186.                         startYear = i;
  187.                         startMonth = i1;
  188.                         startDay = i2;
  189.                         twStartDate.setText("The starting date is : " + startDay + "." + (startMonth +1) + "."  + startYear);
  190.                     }
  191.                 }, startYear, startMonth, startDay);
  192.                 dialog3.show();
  193.             }
  194.         });
  195.         btEndDate = (Button) v.findViewById(R.id.btEndDate);
  196.         btEndDate.setOnClickListener(new View.OnClickListener() {
  197.             @Override
  198.             public void onClick(View view) {
  199.                 DatePickerDialog dialog3 =  new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
  200.                     @Override
  201.                     public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
  202.                         endYear = i;
  203.                         endMonth = i1;
  204.                         endDay = i2;
  205.                         twEndDate.setText("The ending date is : " + endDay + "." + (endMonth +1) + "."  + endYear);
  206.                     }
  207.                 }, startYear, startMonth, startDay);
  208.                 dialog3.show();
  209.  
  210.             }
  211.         });
  212.  
  213.  
  214.         bCreateActivity = (Button) v.findViewById(R.id.bCreateActivity);
  215.         bCreateActivity.setOnClickListener(new View.OnClickListener() {
  216.             @Override
  217.             public void onClick(View view) {
  218.                 startTime = new Date((startYear -1900), startMonth, startDay,startHour,startMinute);
  219.                 mActivity.setStartTime(startTime);
  220.                 endTime = new Date((endYear -1900), endMonth, endDay,endHour,endHour);
  221.                 mActivity.setEndTime(endTime);
  222.                 if(endTime.before(startTime)){
  223.                     Toast.makeText(getActivity(),
  224.                             "The activity can not end before it starts",Toast.LENGTH_SHORT)
  225.                             .show();
  226.                 }
  227.                 else{
  228.                 DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm");
  229.                 RequestQueue queue = Volley.newRequestQueue(getActivity());
  230.                 queue.start();
  231.                 HashMap<String, String> params = new HashMap<String,String>();
  232.                 params.put("title",mActivity.getTitle()); // the entered data as the body.
  233.                 params.put("description", mActivity.getDescription()); // the entered data as the body.
  234.                 params.put("location", mActivity.getLocation()); // the entered data as the body.
  235.                 params.put("startTime",df.format(startTime));
  236.                 params.put("endTime",df.format(endTime));
  237.                 JsonObjectRequest jsObjRequest = new
  238.                         JsonObjectRequest(Request.Method.POST,
  239.                         url,
  240.                         new JSONObject(params),
  241.                         new Response.Listener<JSONObject>() {
  242.                             @Override
  243.                             public void onResponse(JSONObject response) {
  244.                                 // DisplayText.setText(response.getString("message"));
  245.                             }
  246.                         }, new Response.ErrorListener() {
  247.                     @Override
  248.                     public void onErrorResponse(VolleyError error) {
  249.                         // DisplayText.setText("That didn't work!");
  250.                     }
  251.                 });
  252.                 queue.add(jsObjRequest);
  253.                     Intent userAreaIntent = new Intent(getActivity(), UserAreaActivity.class);
  254.                     //Send the user to next activity.
  255.                     userAreaIntent.putExtra("user", user);
  256.                     getActivity().startActivity(userAreaIntent);
  257.  
  258.  
  259.             }}
  260.         });
  261.  
  262. //        public void showTimePickerDialog(View v) {
  263. //            DialogFragment newFragment = new TimePickerFragment();
  264. //            newFragment.show(getSupportFragmentManager(), "timePicker");
  265. //        }
  266.         return v;
  267.     }
  268.  
  269.  
  270.  
  271. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement