diff --git a/README b/README
index 47b0d9e..863ef15 100644
--- a/README
+++ b/README
@@ -1,3 +1,12 @@
-## BLA BLA CRADE
+## BLA BLA Propre
-Paske c notre projé !
+Notre application est basée sur le même fonctionnement que BlaBlaCar:
+ * la première page montre un bouto qui envois sur la 2ème activité pour recherche un itinéraire
+
+ * On peut entrer la ville de départ, la ville de destination et la date choisie pour le voyage
+ afin de voir les résultats de notre recherche. Si les champs départs et destination ne sont pas
+ remplis, un message d'erreur s'affiche.
+
+ * sur la derière page, le titre de l'activité est dans le format "départ >> destination" et un
+ toast nous indique la date du voyage souhaitée. Une liste des résultats est affichée avec les
+ dates et heures des voyages proposées par chaque personne ainsi que le prix du voyage.
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 36c818e..228405e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -20,7 +20,7 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/java/fr/wcs/blablacrade/ListResultsActivity.java b/app/src/main/java/fr/wcs/blablacrade/ListResultsActivity.java
new file mode 100644
index 0000000..76633ba
--- /dev/null
+++ b/app/src/main/java/fr/wcs/blablacrade/ListResultsActivity.java
@@ -0,0 +1,41 @@
+package fr.wcs.blablacrade;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.widget.ListView;
+import android.widget.Toast;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+
+public class ListResultsActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_view_search_itinerary_results_list);
+
+ SearchRequestModel searchRequest = getIntent().getParcelableExtra("searchRequest");
+ String departure = searchRequest.getDeparture();
+ String destination = searchRequest.getDestination();
+ String date = searchRequest.getDate();
+
+ Toast.makeText(this, date, Toast.LENGTH_LONG).show();
+ setTitle(departure + " >> " + destination);
+
+ ListView listView = (ListView) findViewById(R.id.listview_search_results);
+
+ ArrayList table = new ArrayList<>();
+ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy-hh:mm");
+ try {
+ table.add(new TripResultModel("Bernard", sdf.parse("21/02/2017-15:30"), 15));
+ table.add(new TripResultModel("Jean-Jacques", sdf.parse("21/02/2017-16:00"), 20));
+ table.add(new TripResultModel("Bertrand", sdf.parse("21/02/2017-16:30"), 16));
+ table.add(new TripResultModel("Gertrude", sdf.parse("21/02/2017-17:00"), 40));
+ } catch (ParseException e) {
+ }
+
+ TripResultAdapter adapter = new TripResultAdapter(this, table);
+ listView.setAdapter(adapter);
+ }
+}
diff --git a/app/src/main/java/fr/wcs/blablacrade/MainActivity.java b/app/src/main/java/fr/wcs/blablacrade/MainActivity.java
index 6bce270..c2ce192 100644
--- a/app/src/main/java/fr/wcs/blablacrade/MainActivity.java
+++ b/app/src/main/java/fr/wcs/blablacrade/MainActivity.java
@@ -16,12 +16,13 @@ protected void onCreate(Bundle savedInstanceState) {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
- //bouton cherché
- Button Search = (Button) findViewById(R.id.gogogo);
- Search.setOnClickListener(new View.OnClickListener() {
+ Button search = (Button) findViewById(R.id.gogogo);
+ search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
- Intent intent=new Intent(MainActivity.this, SearchItineraryActivity.class);startActivity(intent);
- }});
+ Intent intent = new Intent(MainActivity.this, SearchItineraryActivity.class);
+ startActivity(intent);
+ }
+ });
}
}
diff --git a/app/src/main/java/fr/wcs/blablacrade/SearchItineraryActivity.java b/app/src/main/java/fr/wcs/blablacrade/SearchItineraryActivity.java
index 7a6c121..95426e7 100644
--- a/app/src/main/java/fr/wcs/blablacrade/SearchItineraryActivity.java
+++ b/app/src/main/java/fr/wcs/blablacrade/SearchItineraryActivity.java
@@ -9,7 +9,6 @@
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Toast;
-
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
@@ -21,61 +20,51 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_itinerary);
- final EditText edit1 = (EditText) findViewById(R.id.editText1);
- final EditText edit2 = (EditText) findViewById(R.id.editText2);
- final EditText edit3 = (EditText) findViewById(R.id.editText3);
- Button buttonSearch = (Button) findViewById(R.id.push);
+ final EditText departField = (EditText) findViewById(R.id.depart_field);
+ final EditText destinationField = (EditText) findViewById(R.id.destination_field);
+ final EditText dateField = (EditText) findViewById(R.id.date_field);
+ Button buttonSearch = (Button) findViewById(R.id.button_search);
- // clicq action
buttonSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- String text1 = edit1.getText().toString();
- String text2 = edit2.getText().toString();
- String texte = edit3.getText().toString();
-
- if (text1.isEmpty() || text2.isEmpty()
- ) {
- Toast painGrillé = Toast.makeText(getApplicationContext(), getResources().getString(R.string.form_error), Toast.LENGTH_SHORT);
- painGrillé.show();
- }else {Intent intent = new Intent(SearchItineraryActivity.this, ViewSearchItineraryResultsListActivity.class);
- SearchRequestModel searchRequest=new SearchRequestModel(text1, text2, texte); intent.putExtra("searchRequest", searchRequest);
+ String textDepart = departField.getText().toString();
+ String textDestination = destinationField.getText().toString();
+ String textDate = dateField.getText().toString();
- SearchItineraryActivity.this.startActivity(intent);
+ if (textDepart.isEmpty() || textDestination.isEmpty()) {
+ Toast.makeText(SearchItineraryActivity.this, getResources().getString(R.string.form_error), Toast.LENGTH_SHORT).show();
+ }
+ else {
+ Intent intent = new Intent(SearchItineraryActivity.this, ListResultsActivity.class);
+ SearchRequestModel searchRequest =new SearchRequestModel(textDepart,textDestination, textDate);
+ intent.putExtra("searchRequest", searchRequest);
+ SearchItineraryActivity.this.startActivity(intent);
}
}
});
-
- final Calendar calandréi = Calendar.getInstance();
+ final Calendar calendar = Calendar.getInstance();
final DatePickerDialog.OnDateSetListener dateListener = new DatePickerDialog.OnDateSetListener() {
-
- @Override
- public void onDateSet(DatePicker view,int ané,int moi,int joure){
- calandréi.set(Calendar.YEAR, ané);
- calandréi.set(Calendar.MONTH, moi);
- calandréi.set(Calendar.DAY_OF_MONTH, joure);
- UpdateLabel(edit3, calandréi);
- }};
-
- edit3.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onDateSet(DatePicker view,int year,int month,int dayOfMonth){
+ calendar.set(Calendar.YEAR, year);
+ calendar.set(Calendar.MONTH, month);
+ calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
+ UpdateLabel(dateField, calendar);
+ }
+ };
+ dateField.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- new DatePickerDialog(SearchItineraryActivity.this,
- dateListener,
- calandréi.get(Calendar.YEAR),
- calandréi.get(Calendar.MONTH),
- calandréi.get(Calendar.DAY_OF_MONTH)
- ).show();
+ new DatePickerDialog(SearchItineraryActivity.this, dateListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
}
- private void UpdateLabel(EditText editText, Calendar myCalendar) {
- String myFormat = "dd/MM/yyyy";
-
-
- SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE);
+ private void UpdateLabel(EditText dateField, Calendar myCalendar) {
+ String myFormat = "dd/MM/yyyy";
+ SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE);
+ dateField.setText(sdf.format(myCalendar.getTime()));
+ }
- editText.setText(sdf.format(myCalendar.getTime()));
- }
}
diff --git a/app/src/main/java/fr/wcs/blablacrade/SearchRequestModel.java b/app/src/main/java/fr/wcs/blablacrade/SearchRequestModel.java
index 9b20bd2..c130918 100644
--- a/app/src/main/java/fr/wcs/blablacrade/SearchRequestModel.java
+++ b/app/src/main/java/fr/wcs/blablacrade/SearchRequestModel.java
@@ -3,51 +3,59 @@
import android.os.Parcel;
import android.os.Parcelable;
-/**
- * Created by bastienwcs on 21/09/17.
- */
-
public class SearchRequestModel implements Parcelable {
- private String depare;
- private String oùilva;
- private String quan;
+ private String departure;
+ private String destination;
+ private String date;
- public String getDepare() {
- return depare;
+ public SearchRequestModel(String departure, String destination, String date) {
+ this.departure = departure;
+ this.destination = destination;
+ this.date = date;
}
- public String getOùilva() {
- return oùilva;
+ public void setDeparture(String departure) {
+ this.departure = departure;
}
-
- public SearchRequestModel(String depare, String oùilva, String quan) {
- this.depare = depare;
- this.oùilva = oùilva;
- this.quan = quan;
+ public void setDestination(String destination) {
+ this.destination = destination;
+ }
+ public void setDate(String date) {
+ this.date = date;
}
- protected SearchRequestModel(Parcel in) {
- depare = in.readString();
- oùilva = in.readString();
- quan = in.readString();
- }
+ public String getDeparture() {
+ return departure;
+ }
+ public String getDestination() {
+ return destination;
+ }
+ public String getDate() {
+ return date;
+ }
@Override
- public void writeToParcel(Parcel dest, int flags) {
- dest.writeString(depare);
- dest.writeString(oùilva);
- dest.writeString(quan);
+ public int describeContents() {
+ return Integer.parseInt(getDeparture() + getDestination() + getDate());
}
@Override
- public int describeContents() {
- return 0;
+ public void writeToParcel(Parcel parcel, int i) {
+ parcel.writeString(departure);
+ parcel.writeString(destination);
+ parcel.writeString(date);
+ }
+
+ protected SearchRequestModel(Parcel in) {
+ departure = in.readString();
+ destination = in.readString();
+ date = in.readString();
}
public static final Creator CREATOR = new Creator() {
- @Override
- public SearchRequestModel createFromParcel(Parcel in) {
+ @Override
+ public SearchRequestModel createFromParcel(Parcel in) {
return new SearchRequestModel(in);
}
@@ -57,7 +65,5 @@ public SearchRequestModel[] newArray(int size) {
}
};
- public String getQuan() {
- return quan;
- }
+
}
diff --git a/app/src/main/java/fr/wcs/blablacrade/TripResultAdapter.java b/app/src/main/java/fr/wcs/blablacrade/TripResultAdapter.java
index 9fc3867..b23f45f 100644
--- a/app/src/main/java/fr/wcs/blablacrade/TripResultAdapter.java
+++ b/app/src/main/java/fr/wcs/blablacrade/TripResultAdapter.java
@@ -4,66 +4,41 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.BaseAdapter;
+import android.widget.ArrayAdapter;
+
import android.widget.TextView;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
-/**
- * Created by wilder on 13/09/17.
- */
-
-// This is the adapter lol
-public class TripResultAdapter extends BaseAdapter {
- private Context context; //context
- private ArrayList items; //data source of the list adapter
-
- //public constructor
- public TripResultAdapter(Context context, ArrayList items) {
- this.context = context;
- this.items = items;
- }
-
- @Override
- public int getCount() {
- return items.size(); //returns total of items in the list
- }
+public class TripResultAdapter extends ArrayAdapter {
- @Override
- public Object getItem(int position) {
- return items.get(position); //returns list item at the specified position
+ public TripResultAdapter(Context context, ArrayList trips) {
+ super(context, 0, trips);
}
- @Override
- public long getItemId(int position) {
- return position;
- }
@Override
public View getView(int position, View convertView, ViewGroup parent) {
- // inflate the layout for each list row
+ TripResultModel trip = (TripResultModel) getItem(position);
if (convertView == null) {
- convertView = LayoutInflater.from(context).
- inflate(R.layout.trip_item, parent, false);
+ convertView = LayoutInflater.from(getContext()).inflate(R.layout.trip_item, parent, false);
}
- // get current item to be displayed
- TripResultModel currentItem = (TripResultModel) getItem(position);
+ TextView date = (TextView) convertView.findViewById(R.id.item_text_date);
+ TextView firstname = (TextView) convertView.findViewById(R.id.item_text_firstname);
+ TextView price = (TextView) convertView.findViewById(R.id.item_text_price);
- // get the TextView for item name and item description
- TextView departure = (TextView)
- convertView.findViewById(R.id.texteresu1);
- TextView firstname = (TextView)
- convertView.findViewById(R.id.textres2);
- TextView price = (TextView)
- convertView.findViewById(R.id.txt);
+ date.setText(trip.getDate().toString());
+ firstname.setText(trip.getFirstname().toString());
+ price.setText(String.valueOf(trip.getPrice()) + " $");
- //sets the text for item name and item description from the current item object
- departure.setText(currentItem.getDepare().toString());
- firstname.setText(currentItem.getPrénom());
- price.setText(String.valueOf(currentItem.getPri()));
+ //Create new SimpleDateFormat
+ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm");
+ String dateformat = sdf.format(trip.getDate());
+ String dateValue = dateformat + " PM";
+ date.setText(dateValue);
- // returns the view for the current row
return convertView;
}
}
\ No newline at end of file
diff --git a/app/src/main/java/fr/wcs/blablacrade/TripResultModel.java b/app/src/main/java/fr/wcs/blablacrade/TripResultModel.java
index a6960ae..052ed2a 100644
--- a/app/src/main/java/fr/wcs/blablacrade/TripResultModel.java
+++ b/app/src/main/java/fr/wcs/blablacrade/TripResultModel.java
@@ -2,26 +2,35 @@
import java.util.Date;
-/**
- * Created by wilder on 13/09/17.
- */
-
public class TripResultModel {
+ private String firstname;
+ private Date date;
+ private int price;
- public Date getDepare() {
- return depare;
+ public TripResultModel(String firstname, Date date, int price) {
+ this.firstname = firstname;
+ this.date = date;
+ this.price = price;
}
- public int getPri() {
- return pri;
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+ public void setDate(Date date) {
+ this.date = date;
+ }
+ public void setPrice(int price) {
+ this.price = price;
}
- private String prénom;
- private int pri;
- public TripResultModel(String prénom, Date depare, int pri) {
- this.prénom = prénom;this.depare = depare;this.pri = pri;
+ public String getFirstname() {
+ return firstname;
+ }
+ public Date getDate() {
+ return date;
+ }
+ public int getPrice() {
+ return price;
}
- private Date depare;
- public String getPrénom() {return prénom;}
}
diff --git a/app/src/main/java/fr/wcs/blablacrade/ViewSearchItineraryResultsListActivity.java b/app/src/main/java/fr/wcs/blablacrade/ViewSearchItineraryResultsListActivity.java
deleted file mode 100644
index 546ae80..0000000
--- a/app/src/main/java/fr/wcs/blablacrade/ViewSearchItineraryResultsListActivity.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package fr.wcs.blablacrade;
-
-import android.support.v7.app.AppCompatActivity;
-import android.os.Bundle;
-import android.widget.ListView;
-import android.widget.Toast;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-
-public class ViewSearchItineraryResultsListActivity extends AppCompatActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_view_search_itinerary_results_list);
-
- SearchRequestModel truc = getIntent().getParcelableExtra("searchRequest");
- String text1 = truc.getDepare();
- String TEXTEDEUX = truc.getOùilva();
- String texte3 = truc.getQuan();
-
- Toast.makeText(this, texte3, Toast.LENGTH_LONG).show();
-
- setTitle(text1 + " >> " + TEXTEDEUX);
-
- // TODO : add résult to tableau
- ListView résultat = (ListView) findViewById(R.id.listViewSearchResults);
- ArrayList tableau = new ArrayList<>();SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy-hh:mm");
- try {
- tableau.add(new TripResultModel("Bernard", sdf.parse("21/02/2017-15:30"), 15));
- tableau.add(new TripResultModel("Jean-Jacques", sdf.parse("21/02/2017-16:00"), 20));
- tableau.add(new TripResultModel("Bertrand", sdf.parse("21/02/2017-16:30"), 16));
- tableau.add(new TripResultModel("Gertrude", sdf.parse("21/02/2017-17:00"), 40));
- } catch (ParseException e) {
- }
- TripResultAdapter adapteur = new TripResultAdapter(this, tableau);résultat.setAdapter(adapteur);
- }
-}
diff --git a/app/src/main/res/layout/activity_search_itinerary.xml b/app/src/main/res/layout/activity_search_itinerary.xml
index 5e8e7ca..d0d6b81 100644
--- a/app/src/main/res/layout/activity_search_itinerary.xml
+++ b/app/src/main/res/layout/activity_search_itinerary.xml
@@ -6,47 +6,51 @@
android:padding="20dp"
tools:context="fr.wcs.blablacrade.SearchItineraryActivity">
-
+
+
+
- />
+
-
+ android:text="@string/date"
+ android:layout_below="@+id/destination_field" />
-
-
-
-
-
-
+ android:hint="@string/date"
+ android:focusable="false"
+ android:layout_below="@+id/text_date"/>
+
+
+
+
diff --git a/app/src/main/res/layout/activity_view_search_itinerary_results_list.xml b/app/src/main/res/layout/activity_view_search_itinerary_results_list.xml
index f1c456f..c9c7ba0 100644
--- a/app/src/main/res/layout/activity_view_search_itinerary_results_list.xml
+++ b/app/src/main/res/layout/activity_view_search_itinerary_results_list.xml
@@ -1,9 +1,9 @@
diff --git a/app/src/main/res/layout/trip_item.xml b/app/src/main/res/layout/trip_item.xml
index b24990c..a2b5107 100644
--- a/app/src/main/res/layout/trip_item.xml
+++ b/app/src/main/res/layout/trip_item.xml
@@ -5,22 +5,22 @@
android:layout_height="match_parent">
+ tools:text="Date" />
- Bla Bla Crade
+ Bla Bla Propre
Settings
Rechercher
- Départ
- Destination
- Date
+ Départ
+ Destination
+ Date
Recherche un itinéraire
- Merci de renseigner le départ et la oùilva :)
+ Merci de renseigner le départ et la destination