Advertisement
christianneyu

Untitled

Jan 24th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 33.83 KB | None | 0 0
  1. package velmalatest.garciano.com.velmalatest;
  2.  
  3. import android.app.Activity;
  4. import android.app.DatePickerDialog;
  5. import android.app.ProgressDialog;
  6. import android.app.TimePickerDialog;
  7. import android.content.DialogInterface;
  8. import android.net.ConnectivityManager;
  9. import android.net.NetworkInfo;
  10. import android.os.Bundle;
  11. import android.support.v7.app.AlertDialog;
  12. import android.support.v7.app.AppCompatActivity;
  13. import android.text.TextUtils;
  14. import android.util.Log;
  15. import android.view.View;
  16. import android.widget.Button;
  17. import android.widget.DatePicker;
  18. import android.widget.EditText;
  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.StringRequest;
  27. import com.android.volley.toolbox.Volley;
  28. import com.google.android.gms.common.ConnectionResult;
  29. import com.google.android.gms.common.GoogleApiAvailability;
  30. import com.google.android.gms.common.api.GoogleApiClient;
  31. import com.google.android.gms.location.places.Places;
  32. import com.google.android.gms.location.places.ui.PlacePicker;
  33. import com.google.android.gms.maps.model.LatLng;
  34. import com.google.android.gms.maps.model.LatLngBounds;
  35. import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential;
  36. import com.google.api.client.http.HttpTransport;
  37. import com.google.api.client.json.JsonFactory;
  38. import com.google.api.client.json.jackson2.JacksonFactory;
  39. import com.google.api.client.util.store.FileDataStoreFactory;
  40. import com.google.api.services.calendar.CalendarScopes;
  41. import com.google.api.services.calendar.model.Event;
  42. import com.google.api.services.people.v1.PeopleScopes;
  43.  
  44. import org.json.JSONArray;
  45.  
  46. import java.io.BufferedReader;
  47. import java.io.File;
  48. import java.io.IOException;
  49. import java.io.InputStream;
  50. import java.io.InputStreamReader;
  51. import java.text.ParseException;
  52. import java.text.SimpleDateFormat;
  53. import java.util.ArrayList;
  54. import java.util.Arrays;
  55. import java.util.Calendar;
  56. import java.util.Date;
  57. import java.util.HashMap;
  58. import java.util.List;
  59. import java.util.Map;
  60. import java.util.StringTokenizer;
  61.  
  62. import retrofit2.Call;
  63. import retrofit2.Callback;
  64. import retrofit2.Retrofit;
  65. import retrofit2.converter.gson.GsonConverterFactory;
  66.  
  67.  
  68. /**
  69.  * Created by jeanneviegarciano on 8/1/2016.
  70.  */
  71. public class AddEventActivity extends AppCompatActivity implements View.OnClickListener{
  72.     private static final String TAG = "AddEvent" ;
  73.     private EditText title;
  74.     private EditText dateStart;
  75.     private EditText dateEnd;
  76.     private EditText timeStart;
  77.     private EditText timeEnd;
  78. //    private AutoCompleteTextView eventLocation;
  79.     private EditText eventLocation;
  80.     int PLACE_PICKER_REQUEST = 1;
  81.     private static final int SIGN_IN_CODE = 0;
  82.     private int sYear, sMonth, sDay, sHour, sMinute;
  83.     private int eYear, eMonth, eDay, eHour, eMinute;
  84. //    private PlacesAutoCompleteAdapter mPlacesAdapter;
  85.     private static final int PLACE_PICKER_FLAG = 1;
  86.     private PlacePicker.IntentBuilder builder;
  87.     private EditText alarming;
  88.     private EditText contacts;
  89.     private AlertDialog alert;
  90.     private EditText people;
  91.     private Button save;
  92.     private Button friendsTrial;
  93.     String summary, location, friends;
  94.     String EndDT, googleStart, googleEnd, invitefriends, arr, eventStartDT, eventEndDT;
  95.     private EditText mOutputText;
  96.     EventClass event;
  97.     private List<Event> mEvents;
  98.     ProgressDialog mProgress;
  99.     private ArrayList<String> eventAdd;
  100.     int flag=0;
  101.     ArrayList<ArrayList> outer= new ArrayList<ArrayList>();
  102.     Date tStartDT, tEndDT, sStartDT, sEndDT;
  103.     private com.google.api.services.calendar.Calendar mService;
  104.     String eventDate, eventTime, storedStartDT, storedEndDT;
  105.     String eventEndDate, eventEndTime;
  106.  
  107.     protected GoogleApiClient google_api_client;
  108.     GoogleApiAvailability google_api_availability;
  109.     private int request_code;
  110.     private ConnectionResult connection_result;
  111.     private boolean is_intent_inprogress;
  112.     private boolean is_signInBtn_clicked;
  113.     private Date eStartdate, eEnddate, sStartdate, sEnddate;
  114.     private Date eEndtime, eStarttime, sStarttime, sEndtime;
  115.     String desc = "Finally";
  116.     Double latstatic = 123.891;
  117.     Double lngstatic =  10.3167;
  118.     //Add event to google calendar initializations
  119.     GoogleAccountCredential mAddCredential;
  120.     static final int REQUEST_ACCOUNT_PICKER = 1000;
  121.     static final int REQUEST_AUTHORIZATION = 1001;
  122.     static final int REQUEST_GOOGLE_PLAY_SERVICES = 1002;
  123.     static final int REQUEST_PERMISSION_GET_ACCOUNTS = 1003;
  124.  
  125.     private static final String BUTTON_TEXT = "Call Google Calendar API";
  126.     private static final String PREF_ACCOUNT_NAME = "accountName";
  127.     private static final String[] SCOPES = { CalendarScopes.CALENDAR };
  128.  
  129.     private static final JsonFactory JSON_FACTORY =
  130.             JacksonFactory.getDefaultInstance();
  131.     private static HttpTransport HTTP_TRANSPORT;
  132.     private static FileDataStoreFactory DATA_STORE_FACTORY;
  133.     private static final File DATA_STORE_DIR = new File(
  134.             System.getProperty("user.home"), ".credentials/people.googleapis.com-java-quickstart");
  135.     private static final List<String> SCOPESPeople =
  136.             Arrays.asList(PeopleScopes.USER_EMAILS_READ);
  137.  
  138.  
  139.     private static final LatLngBounds BOUNDS_GREATER_SYDNEY = new LatLngBounds(
  140.             new LatLng(-34.041458, 150.790100), new LatLng(-33.682247, 151.383362));
  141.     protected GoogleApiClient mGoogleApiClient;
  142.  
  143.     private static final String REGISTER_URL = "http://velma.000webhostapp.com/add_event.php";
  144.  
  145.     public static final String KEY_NAME = "name";
  146.     public static final String KEY_DESCRIPTION = "description";
  147.     public static final String KEY_LNG = "lng";
  148.     public static final String KEY_LAT = "lat";
  149.     public static final String KEY_STARTDATE = "start_date";
  150.     public static final String KEY_ENDDATE = "end_date";
  151.     public static final String KEY_STARTTIME  = "start_time";
  152.     public static final String  KEY_ENDTIME  = "end_time";
  153.     private static String url = "http://velma.000webhostapp.com/events.php/";
  154.  
  155.     String s_d, e_d, s_t, e_t;
  156.  
  157. //    //JSON Node Names
  158. //    private static final String ID = "id";
  159. //    private static final String SDATE = "start_date";
  160. //    private static final String EDATE = "end_date";
  161. //    private static final String STIME = "start_time";
  162. //    private static final String ETIME = "end_time";
  163.  
  164.     JSONArray user = null;
  165.     String data = "";
  166.  
  167.  
  168.  
  169.     @Override
  170.     protected void onCreate(Bundle savedInstanceState) {
  171.         super.onCreate(savedInstanceState);
  172.  
  173.         mGoogleApiClient = new GoogleApiClient.Builder(this)
  174.                 .addApi(Places.GEO_DATA_API)
  175.                 .build();
  176.  
  177.         setContentView(R.layout.activity_event_form);
  178.         getSupportActionBar().setDisplayShowTitleEnabled(false);
  179.         getSupportActionBar().setHomeButtonEnabled(true);
  180.         getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  181.         getSupportActionBar().setElevation(0);
  182.  
  183.         builder = new PlacePicker.IntentBuilder();
  184.  
  185.         title = (EditText) findViewById(R.id.eventname);
  186.         title.setHintTextColor(getResources().getColor(R.color.white));
  187.         dateStart = (EditText) findViewById(R.id.startdate);
  188.         dateStart.setHintTextColor(getResources().getColor(R.color.colorPrimary));
  189. //        dateStart.setInputType(InputType.TYPE_NULL);
  190.         dateEnd = (EditText) findViewById(R.id.enddate);
  191.         dateEnd.setHintTextColor(getResources().getColor(R.color.colorPrimary));
  192.         timeStart = (EditText) findViewById(R.id.starttime);
  193.         timeStart.setHintTextColor(getResources().getColor(R.color.colorPrimary));
  194.         timeEnd = (EditText) findViewById(R.id.endtime);
  195.         timeEnd.setHintTextColor(getResources().getColor(R.color.colorPrimary));
  196. //        eventLocation = (AutoCompleteTextView) findViewById(R.id.location);
  197.         eventLocation = (EditText) findViewById(R.id.location);
  198.         eventLocation.setHintTextColor(getResources().getColor(R.color.colorPrimary));
  199.         people = (EditText) findViewById(R.id.invitepeople);
  200.         people.setHintTextColor(getResources().getColor(R.color.colorPrimary));
  201.         save = (Button) findViewById(R.id.sumbitevent);
  202.         mOutputText = (EditText) findViewById(R.id.statusText);
  203.         //      friendsTrial=(Button)findViewById(R.id.frnd_button);
  204.         dateStart.setOnClickListener(this);
  205.         dateEnd.setOnClickListener(this);
  206.         timeStart.setOnClickListener(this);
  207.         timeEnd.setOnClickListener(this);
  208. //        alarming.setOnClickListener(this);
  209.         people.setOnClickListener(this);
  210.         save.setOnClickListener(this);
  211.         //       friendsTrial.setOnClickListener(this);
  212.         eventLocation.setOnClickListener(this);
  213.         mProgress = new ProgressDialog(this);
  214.         mProgress.setMessage(" Adding event to google calendar");
  215.  
  216.         if (isConnected()) {
  217.  
  218.             mOutputText.setText("You are conncted");
  219.         } else {
  220.             mOutputText.setText("You are NOT conncted");
  221.         }
  222.  
  223.         Retrofit retrofit = new Retrofit.Builder()
  224.                 .baseUrl(url)
  225.                 .addConverterFactory(GsonConverterFactory.create())
  226.                 .build();
  227.  
  228.         RetroFitArray service = retrofit.create(RetroFitArray.class);
  229.         Call<List<EventClass>> call = (Call<List<EventClass>>) service.getEventDetails();
  230.  
  231.  
  232.         call.enqueue(new Callback<List<EventClass>>() {
  233.             @Override
  234.             public void onResponse(Call<List<EventClass>> call, retrofit2.Response<List<EventClass>> response) {
  235.                 List<EventClass> eventData = response.body();
  236.  
  237.  
  238.  
  239.                     try {
  240.  
  241.  
  242.                         for (int i = 0; i < eventData.size(); i++) {
  243.                             ArrayList<String> inner= new ArrayList<>();
  244.                               //   s_d = eventData.get(i).getStartdate();
  245.                                     inner.add(eventData.get(i).getStartdate());
  246.                               //  e_d = eventData.get(i).getEndate();
  247.                                     inner.add(eventData.get(i).getEndate());
  248.                               //  s_t = eventData.get(i).getStarttime();
  249.                                     inner.add(eventData.get(i).getStarttime());
  250.                               //  e_t = eventData.get(i).getEndtime();
  251.                                     inner.add(eventData.get(i).getEndtime());
  252.  
  253.                             outer.add(inner);
  254. //                            data = "Stored Event " + (i + 1) + " StartDate " + s_d +
  255. //                                    " EndDate : " + e_d + " StartTime : " + s_t + " EndTime : " + e_t;
  256.  
  257.                             Log.i("Event stored: ", "" + data);
  258.                         }
  259.  
  260.  
  261.  
  262.                         }catch(Exception e){
  263.                             Log.d("onResponse", "" + e);
  264.                             e.printStackTrace();
  265.                         }
  266.  
  267.                     }
  268.  
  269.  
  270.             @Override
  271.             public void onFailure(Call<List<EventClass>> call, Throwable t) {
  272.  
  273.             }
  274.  
  275.  
  276.         });
  277.  
  278.     }
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.     public boolean isConnected(){
  289.         ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Activity.CONNECTIVITY_SERVICE);
  290.         NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
  291.         if (networkInfo != null && networkInfo.isConnected())
  292.             return true;
  293.         else
  294.             return false;
  295.     }
  296.  
  297.  
  298.     @Override
  299.     public void onClick(View view) {
  300.  
  301.         final Calendar c1 = Calendar.getInstance();
  302.         final Calendar c2 = Calendar.getInstance();
  303.         final Calendar c3 = Calendar.getInstance();
  304.         final Calendar c4 = Calendar.getInstance();
  305.  
  306.         long dt;
  307.  
  308.         if (view == dateStart) {
  309.  
  310.             sYear = c1.get(Calendar.YEAR);
  311.             sMonth = c1.get(Calendar.MONTH);
  312.             sDay = c1.get(Calendar.DAY_OF_MONTH);
  313.  
  314.             DatePickerDialog datePickerDialog = new DatePickerDialog(this,
  315.                     new DatePickerDialog.OnDateSetListener() {
  316.  
  317.                         @Override
  318.                         public void onDateSet(DatePicker view, int year,
  319.                                               int monthOfYear, int dayOfMonth) {
  320.  
  321.                             dateStart.setText(year + "-" + (monthOfYear + 1) + "-" + dayOfMonth);
  322.  
  323.  
  324.  
  325.                             // dateStart.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);
  326.  
  327.                         }
  328.                     }, sYear, sMonth, sDay);
  329.             datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 10000);
  330.  
  331.             datePickerDialog.show();
  332. //
  333. //            startDate = dateStart.getText().toString();
  334. //            Log.i("Event sd this", startDate);
  335. //            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  336. //            try {
  337. //                formatstartdate = format.parse(startDate);
  338. //                System.out.println("Event format sd" +formatstartdate);
  339. //            } catch (ParseException e) {
  340. //                // TODO Auto-generated catch block
  341. //                e.printStackTrace();
  342. //                Log.i("Event format", ""+e);
  343. //            }
  344. //
  345.  
  346.  
  347.  
  348.  
  349.         }
  350.  
  351.         else if (view == dateEnd) {
  352.  
  353.             eYear = c2.get(Calendar.YEAR);
  354.             eMonth = c2.get(Calendar.MONTH);
  355.             eDay = c2.get(Calendar.DAY_OF_MONTH);
  356.             final DatePickerDialog datePickerDialog = new DatePickerDialog(this,
  357.                     new DatePickerDialog.OnDateSetListener() {
  358.  
  359.  
  360.  
  361.                         @Override
  362.                         public void onDateSet(DatePicker view, int year,
  363.                                               int monthOfYear, int dayOfMonth) {
  364.  
  365.  
  366.                             dateEnd.setText(year + "-" + (monthOfYear + 1) + "-" + dayOfMonth);
  367.                             // dateEnd.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);
  368.  
  369.                         }
  370.  
  371.                     }, eYear, eMonth, eDay);
  372.  
  373.  
  374.             datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis()-10000);
  375.             datePickerDialog.show();
  376.  
  377.  
  378.         } else if (view == timeStart) {
  379.  
  380.  
  381.             sHour = c3.get(Calendar.HOUR_OF_DAY);
  382.             sMinute = c3.get(Calendar.MINUTE);
  383.  
  384.  
  385.             // Launch Time Picker Dialog
  386.             TimePickerDialog timePickerDialog = new TimePickerDialog(this,
  387.                     new TimePickerDialog.OnTimeSetListener() {
  388.  
  389.                         @Override
  390.                         public void onTimeSet(TimePicker view, int hourOfDay,
  391.                                               int minute) {
  392.  
  393.                             timeStart.setText(hourOfDay + ":" + minute + ":00");
  394.                         }
  395.                     }, sHour, sMinute, false);
  396.  
  397.  
  398.             timePickerDialog.show();
  399.  
  400.             }
  401.  
  402.  
  403.  
  404.  
  405.         else if (view == timeEnd) {
  406.  
  407.             // Get Current Time
  408.  
  409.             eHour = c4.get(Calendar.HOUR_OF_DAY);
  410.             eMinute = c4.get(Calendar.MINUTE);
  411.  
  412.             // Launch Time Picker Dialog
  413.  
  414.             final TimePickerDialog timePickerDialog = new TimePickerDialog(this,
  415.                     new TimePickerDialog.OnTimeSetListener() {
  416.  
  417.                         @Override
  418.                         public void onTimeSet(TimePicker view, int hourOfDay,
  419.                                               int minute) {
  420.  
  421.  
  422.                             timeEnd.setText(hourOfDay + ":" + minute + ":00");
  423.                         }
  424.                     }, eHour, eMinute, false);
  425.  
  426.             timePickerDialog.show();
  427.  
  428. //            }
  429.         } else if (view == eventLocation) {
  430.  
  431.             location = eventLocation.getText().toString();
  432.         }
  433.  
  434. //        else if (view == alarming) {
  435. //
  436. //            AlertDialog.Builder alertBuilder = new AlertDialog.Builder(
  437. //                    AddEventActivity.this);
  438. //            alertBuilder.setIcon(R.drawable.alarm);
  439. //            alertBuilder.setTitle("Alarm every: ");
  440. //            final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
  441. //                    AddEventActivity.this,
  442. //                    android.R.layout.select_dialog_item);
  443. //            arrayAdapter.add("At time of event");
  444. //            arrayAdapter.add("10 minutes before the event");
  445. //            arrayAdapter.add("20 minutes before the event");
  446. //            arrayAdapter.add("30 minutes before the event");
  447. //            arrayAdapter.add("40 minutes before the event");
  448. //            arrayAdapter.add("50 minutes before the event");
  449. //            arrayAdapter.add("1 hour before the event");
  450. //
  451. //            alertBuilder.setNegativeButton("Cancel",
  452. //                    new DialogInterface.OnClickListener() {
  453. //                        @Override
  454. //                        public void onClick(DialogInterface dialog,
  455. //                                            int which) {
  456. //                            dialog.dismiss();
  457. //                        }
  458. //                    });
  459. //
  460. //            alertBuilder.setAdapter(arrayAdapter,
  461. //                    new DialogInterface.OnClickListener() {
  462. //                        @Override
  463. //                        public void onClick(DialogInterface dialog,
  464. //                                            int which) {
  465. //                            String strOS = arrayAdapter.getItem(which);
  466. //                            alarming.setText(strOS);
  467. //                            dialog.dismiss();
  468. //                        }
  469. //                    });
  470. //
  471. //            final AlertDialog alertDialog = alertBuilder.create();
  472. //            alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
  473. //
  474. //                @Override
  475. //                public void onShow(DialogInterface dialog) {
  476. //                    // TODO Auto-generated method stub
  477. //                    ListView listView = alertDialog.getListView();
  478. //                    listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
  479. //
  480. //                        @Override
  481. //                        public boolean onItemLongClick(
  482. //                                AdapterView<?> parent, View view,
  483. //                                int position, long id) {
  484. //                            // TODO Auto-generated method stub
  485. //                            String strOS = arrayAdapter.getItem(position);
  486. //                            Toast.makeText(getApplicationContext(),
  487. //                                    "Long Press - Deleted Entry " + strOS,
  488. //                                    Toast.LENGTH_SHORT).show();
  489. //                            alertDialog.dismiss();
  490. //                            return true;
  491. //                        }
  492. //                    });
  493. //                }
  494. //            });
  495. //
  496. //            alertDialog.show();
  497. //        }
  498.  
  499. //        else if(view == people)
  500. //        {
  501. //                Toast.makeText(this, "G+ Friend List", Toast.LENGTH_LONG).show();
  502. //                Plus.PeopleApi.loadVisible(google_api_client, null)
  503. //                        .setResultCallback(this);
  504. //
  505. //        }
  506.  
  507. //        else if(view == friendsTrial)
  508. //        {
  509. //
  510. //            Toast.makeText(this, "G+ Friend List", Toast.LENGTH_LONG).show();
  511. //            Plus.PeopleApi.loadVisible(google_api_client, null)
  512. //                    .setResultCallback(this);
  513. //        }
  514.  
  515.  
  516.         if (view == people) {
  517.  
  518.             friends = people.getText().toString();
  519. //            try {
  520. //               // Quickstart();
  521. //                Toast.makeText(this, "1" + connections + " " + profile, Toast.LENGTH_LONG).show();
  522. //            } catch (IOException e) {
  523. //                e.printStackTrace();
  524. //            }
  525. //            Toast.makeText(this, "2" + connections + " " + profile, Toast.LENGTH_LONG).show();
  526.         } else if (view == save) {
  527.  
  528.             Log.i("Save", "pressed");
  529.  
  530.  
  531. //            googleStart = getGoogleDateFormat(dateStart, timeStart);
  532. //            googleEnd = getGoogleDateFormat(dateEnd, timeEnd);
  533.  
  534.             eventDate = dateStart.getText().toString();
  535.             eventTime = timeStart.getText().toString();
  536.             eventEndDate = dateEnd.getText().toString();
  537.             summary = title.getText().toString();
  538.             friends = people.getText().toString();
  539.             location = eventLocation.getText().toString();
  540.             eventEndTime = timeEnd.getText().toString();
  541.            String desc = "Finally";
  542.  
  543.             Log.i("Event Value - startdate", eventDate);
  544.             Log.i("Event Value - enddate ", eventEndDate);
  545.             Log.i("Event Value - startime ", eventTime);
  546.             Log.i("Event Value - endtime", eventEndTime);
  547.  
  548.  
  549.  
  550.             //conflict ni
  551.  
  552.  
  553.             StringTokenizer lol = new StringTokenizer(timeStart.getText().toString(), ":");
  554.             StringTokenizer lel = new StringTokenizer(timeEnd.getText().toString(), ":");
  555.             String endHour = lel.nextToken();
  556.             String endMinute = lel.nextToken();
  557.             String hour = lol.nextToken();
  558.             String minute = lol.nextToken();
  559.             if (hour.length() == 1) {
  560.                 hour = "0" + hour;
  561.             }
  562.             if (minute.length() == 1) {
  563.                 minute = "0" + minute;
  564.             }
  565.             if (endHour.length() == 1) {
  566.                 endHour = "0" + endHour;
  567.             }
  568.             if (endMinute.length() == 1) {
  569.                 endMinute = "0" + endMinute;
  570.             }
  571.  
  572.             eventTime = hour + ":" + minute + ":00";
  573.             eventEndTime = endHour + ":" + endMinute + ":00";
  574.             Log.i("Tokenize", "ok");
  575.  
  576.  
  577.             for(int i= 0;i<outer.size();i++) {
  578.  
  579.                 String temp = ""+outer.get(i);
  580.                 StringTokenizer token = new StringTokenizer(temp,",[]");
  581.                 s_d=token.nextToken();
  582.                 e_d=token.nextToken();
  583.                 s_t=token.nextToken();
  584.                 e_t=token.nextToken();
  585.                 storedStartDT = getStoredFormat(s_d, s_t);
  586.                 storedEndDT = getStoredFormat(e_d, e_t);
  587.                 eventStartDT = getEventFormat(dateStart, timeStart);
  588.                 eventEndDT = getEventFormat(dateEnd, timeEnd);
  589.                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  590.                 try {
  591.  
  592.                     tStartDT = sdf.parse(eventStartDT);
  593.                     tEndDT = sdf.parse(eventEndDT);
  594.                     sStartDT = sdf.parse(storedStartDT);
  595.                     sEndDT = sdf.parse(storedEndDT);
  596.  
  597.                     Log.i("Event SDF P tStartDT: ", sdf.format(tStartDT));
  598.                     Log.i("Event SDF P tEndDT: ", sdf.format(tEndDT));
  599.                     Log.i("Event SDF P sStartDT: ", sdf.format(sStartDT));
  600.                     Log.i("Event SDF P sEndDT: ", sdf.format(sEndDT));
  601.  
  602.  
  603.                 } catch (ParseException e) {
  604.                     e.printStackTrace();
  605.                     System.out.println("Event parse err  " + e);
  606.                 }
  607.  
  608.                 if (TextUtils.isEmpty(title.getText().toString().trim())) {
  609.                     title.setError("Input event title");
  610.                     flag = 1;
  611.                 } else if (TextUtils.isEmpty(dateStart.getText().toString().trim())) {
  612.                     dateStart.setError("Input start date");
  613.                     flag = 1;
  614.                 } else if (TextUtils.isEmpty(dateEnd.getText().toString().trim())) {
  615.                     dateEnd.setError("Input end date");
  616.                     flag = 1;
  617.                 } else if (TextUtils.isEmpty(timeStart.getText().toString().trim())) {
  618.                     timeStart.setError("Input start time");
  619.                     flag = 1;
  620.                 } else if (TextUtils.isEmpty(timeEnd.getText().toString().trim())) {
  621.                     timeEnd.setError("Input end time");
  622.                     flag = 1;
  623.                 } else if (TextUtils.isEmpty(eventLocation.getText().toString().trim())) {
  624.                     eventLocation.setError("Input event location");
  625.                     flag = 1;
  626.  
  627.  
  628.                 } else if (tStartDT.compareTo(sStartDT) == 0) {
  629.                     flag = 1;
  630.                     Log.i("EventClass", "EventClass conflict equal");
  631.  
  632.  
  633.                     new AlertDialog.Builder(this)
  634.                             .setTitle("There is a conflict, change your Date and Time")
  635.                             .setMessage("EventClass conflict")
  636.                             .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
  637.                                 public void onClick(DialogInterface dialog, int which) {
  638.                                     Toast.makeText(AddEventActivity.this, "Change date or time", Toast.LENGTH_LONG).show();
  639.                                     dateStart.setText("");
  640.                                     dateEnd.setText("");
  641.                                     timeStart.setText("");
  642.                                     timeEnd.setText("");
  643.                                 }
  644.                             })
  645.                             .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
  646.                                 public void onClick(DialogInterface dialog, int which) {
  647.                                     Toast.makeText(AddEventActivity.this, "EventClass saved", Toast.LENGTH_LONG).show();
  648.                                 }
  649.                             })
  650.                             .setIcon(android.R.drawable.ic_dialog_alert)
  651.                             .show();
  652.                     break;
  653.                 } else if (sStartDT.compareTo(tStartDT) > 0 && sStartDT.compareTo(tEndDT) < 0) {
  654.                     flag = 1;
  655.  
  656.                     //after ang sStart kaysa tStartDT (tStart = jan 2, sStart = jan 3)
  657.                     // after ang tEnd sa sStart (bali tunga ang sStart sa tStart ug tEnd (sStart = jan 2, tStart = jan 1, tEnd = jan 3)
  658.                     // s t s = conflict
  659.                     new AlertDialog.Builder(this)
  660.                             .setTitle("There is a conflict, change your Date and Time")
  661.                             .setMessage("EventClass conflict")
  662.                             .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
  663.                                 public void onClick(DialogInterface dialog, int which) {
  664.                                     Toast.makeText(AddEventActivity.this, "Change date or time", Toast.LENGTH_LONG).show();
  665.                                     dateStart.setText("");
  666.                                     dateEnd.setText("");
  667.                                     timeStart.setText("");
  668.                                     timeEnd.setText("");
  669.                                 }
  670.                             })
  671.                             .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
  672.                                 public void onClick(DialogInterface dialog, int which) {
  673.                                     Toast.makeText(AddEventActivity.this, "EventClass saved", Toast.LENGTH_LONG).show();
  674.                                 }
  675.                             })
  676.                             .setIcon(android.R.drawable.ic_dialog_alert)
  677.                             .show();
  678.                     Log.i("EventClass", "EventClass conflict 2");
  679.                     break;
  680.  
  681.                 } else if (sStartDT.compareTo(tStartDT) < 0 && sEndDT.compareTo(tStartDT) > 0) {
  682.                     flag = 1;
  683.  
  684.                     //after ang tStart kaysa sSTartDT (sStart = jan 2, tStart = jan 3)
  685.                     // after ang sEnd sa tStart (bali tunga ang tStart sa sStart ug sEnd (tStart = jan 2, sStart = jan 1, sEnd = jan 3)
  686.  
  687.                     new AlertDialog.Builder(this)
  688.                             .setTitle("There is a conflict, change your Date and Time")
  689.                             .setMessage("EventClass conflict")
  690.                             .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
  691.                                 public void onClick(DialogInterface dialog, int which) {
  692.                                     Toast.makeText(AddEventActivity.this, "Change date or time", Toast.LENGTH_LONG).show();
  693.                                     dateStart.setText("");
  694.                                     dateEnd.setText("");
  695.                                     timeStart.setText("");
  696.                                     timeEnd.setText("");
  697.                                 }
  698.                             })
  699.                             .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
  700.                                 public void onClick(DialogInterface dialog, int which) {
  701.                                     Toast.makeText(AddEventActivity.this, "EventClass saved", Toast.LENGTH_LONG).show();
  702.                                 }
  703.                             })
  704.                             .setIcon(android.R.drawable.ic_dialog_alert)
  705.                             .show();
  706.                     Log.i("EventClass", "EventClass conflict 3");
  707.                     break;
  708.                 }
  709.                 else{
  710.                     flag=flag+0;
  711.                 }
  712.             }
  713.  
  714.                 if(flag==0) {
  715.  
  716.  
  717.                   //  Log.i("EventClass Create Button", "Button pressed");
  718.                 HttpAsyncTask();
  719.  
  720.  
  721.                 }
  722.  
  723.  
  724.         }
  725.     }
  726.     private void HttpAsyncTask(){
  727. //        final String username = editTextUsername.getText().toString().trim();
  728. //        final String password = editTextPassword.getText().toString().trim();
  729. //        final String email = editTextEmail.getText().toString().trim();
  730.  
  731.         eventDate = dateStart.getText().toString();
  732.         eventTime = timeStart.getText().toString();
  733.         eventEndDate = dateEnd.getText().toString();
  734.         summary = title.getText().toString();
  735.         friends = people.getText().toString();
  736.         location = eventLocation.getText().toString();
  737.         eventEndTime = timeEnd.getText().toString();
  738.         final Double latstatic = 123.891;
  739.         final Double lngstatic =  10.3167;
  740.         StringTokenizer lol = new StringTokenizer(timeStart.getText().toString(), ":");
  741.         StringTokenizer lel = new StringTokenizer(timeEnd.getText().toString(), ":");
  742.         String endHour = lel.nextToken();
  743.         String endMinute = lel.nextToken();
  744.         String hour = lol.nextToken();
  745.         String minute = lol.nextToken();
  746.         if (hour.length() == 1) {
  747.             hour = "0" + hour;
  748.         }
  749.         if (minute.length() == 1) {
  750.             minute = "0" + minute;
  751.         }
  752.         if (endHour.length() == 1) {
  753.             endHour = "0" + endHour;
  754.         }
  755.         if (endMinute.length() == 1) {
  756.             endMinute = "0" + endMinute;
  757.         }
  758.  
  759.         eventTime = hour + ":" + minute + ":00";
  760.         eventEndTime = endHour + ":" + endMinute + ":00";
  761.  
  762.  
  763.  
  764.         StringRequest stringRequest = new StringRequest(Request.Method.POST, REGISTER_URL,
  765.                 new Response.Listener<String>() {
  766.                     @Override
  767.                     public void onResponse(String response) {
  768.                         Toast.makeText(AddEventActivity.this,response,Toast.LENGTH_LONG).show();
  769.                     }
  770.                 },
  771.                 new Response.ErrorListener() {
  772.                     @Override
  773.                     public void onErrorResponse(VolleyError error) {
  774.                         Toast.makeText(AddEventActivity.this,error.toString(),Toast.LENGTH_LONG).show();
  775.                     }
  776.                 }){
  777.             @Override
  778.             protected Map<String,String> getParams(){
  779.                 Map<String,String> params = new HashMap<String, String>();
  780.                 params.put(KEY_NAME, summary);
  781.                 params.put(KEY_DESCRIPTION, "finally");
  782.                 params.put(KEY_LAT, "100.000");
  783.                 params.put(KEY_LNG, "300.00");
  784.                 params.put(KEY_STARTDATE, eventDate);
  785.                 params.put(KEY_ENDDATE, eventEndDate);
  786.                 params.put(KEY_STARTTIME, eventTime);
  787.                 params.put(KEY_ENDTIME, eventEndTime);
  788.                 return params;
  789.             }
  790.  
  791.         };
  792.  
  793.         RequestQueue requestQueue = Volley.newRequestQueue(this);
  794.         requestQueue.add(stringRequest);
  795.     }
  796.  
  797.  
  798.  
  799.  
  800.     private static String convertInputStreamToString(InputStream inputStream) throws IOException {
  801.         BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream));
  802.         String line = "";
  803.         String result = "";
  804.         while((line = bufferedReader.readLine()) != null)
  805.             result += line;
  806.  
  807.         Log.i("Event", result);
  808.  
  809.         inputStream.close();
  810.         return result;
  811.  
  812.     }
  813.  
  814.  
  815.     public String getEventFormat(EditText eDate, EditText eTime){
  816.         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  817.         java.util.Date date;
  818.         Calendar calendar = Calendar.getInstance();
  819.         try {
  820.             date = df.parse(eDate.getText().toString()+ " " + eTime.getText().toString());
  821.             calendar.setTime(date);
  822.         } catch (ParseException e) {
  823.             e.printStackTrace();
  824.         }
  825.  
  826.         SimpleDateFormat sdfsdate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  827.  
  828.         return sdfsdate.format(calendar.getTime());
  829.     }
  830.  
  831.  
  832.  
  833.     public String getStoredFormat (String d, String e){
  834.         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  835.         java.util.Date date;
  836.         Calendar calendar = Calendar.getInstance();
  837.         try {
  838.             date = df.parse(d +" " + e);
  839.             calendar.setTime(date);
  840.         } catch (ParseException ex) {
  841.             ex.printStackTrace();
  842.         }
  843.  
  844.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  845.  
  846.         return sdf.format(calendar.getTime());
  847.     }
  848.  
  849.  
  850.  
  851.  
  852.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement