Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions README
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
</intent-filter>
</activity>
<activity android:name="fr.wcs.blablacrade.SearchItineraryActivity" android:label="@string/search_text" />
<activity android:name="fr.wcs.blablacrade.ViewSearchItineraryResultsListActivity" />
<activity android:name="fr.wcs.blablacrade.ListResultsActivity" />
</application>

</manifest>
41 changes: 41 additions & 0 deletions app/src/main/java/fr/wcs/blablacrade/ListResultsActivity.java
Original file line number Diff line number Diff line change
@@ -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<TripResultModel> 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);
}
}
11 changes: 6 additions & 5 deletions app/src/main/java/fr/wcs/blablacrade/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
});
}
}
73 changes: 31 additions & 42 deletions app/src/main/java/fr/wcs/blablacrade/SearchItineraryActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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()));
}
}
70 changes: 38 additions & 32 deletions app/src/main/java/fr/wcs/blablacrade/SearchRequestModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<SearchRequestModel> CREATOR = new Creator<SearchRequestModel>() {
@Override
public SearchRequestModel createFromParcel(Parcel in) {
@Override
public SearchRequestModel createFromParcel(Parcel in) {
return new SearchRequestModel(in);
}

Expand All @@ -57,7 +65,5 @@ public SearchRequestModel[] newArray(int size) {
}
};

public String getQuan() {
return quan;
}

}
63 changes: 19 additions & 44 deletions app/src/main/java/fr/wcs/blablacrade/TripResultAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<TripResultModel> items; //data source of the list adapter

//public constructor
public TripResultAdapter(Context context, ArrayList<TripResultModel> 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<TripResultModel> {

@Override
public Object getItem(int position) {
return items.get(position); //returns list item at the specified position
public TripResultAdapter(Context context, ArrayList<TripResultModel> 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;
}
}
Loading