Repository
https://github.com/project-travel-mate/Travel-Mate
Travel Mate
https://project-travel-mate.github.io/Travel-Mate/
A must-have app for those interested in travel. The app provides users with various features from choosing the correct destination to making all the bookings and to easily organizing the trip. The platform basically uses a mash-up technology. The app provides solutions for every possible problem a traveller might face during the course of his or her entire journey.
While travelling from one place to another, there are a lot of factors to be considered to make the trip a memorable one. Our platform helps the traveller with anything and everything that he or she might need, from the moment he or she plans the journey till the time he or she is back home happy and content. The platform includes a wide variety of options - from selection of Mode of Transport, to finding out about the destination city, to provision of best music, novels, depending on the mood of the traveller.
New Features
1. Creating a spotlight view on home page.
- What feature(s) did you add?
Travel mate app shows list of favourite cities on landing screen. There was task request to create spotlight view on city card for better user experience.
Link to Task Request - How did you implement it/them?
To this spotlight view implementation i selected a opensource library i. e Spotlight will actually creates spotlight view on top of our UI.
1. Search view in Currency converter.
What feature(s) did you add?
Travel Mate do have a utility to check different currency rates in utilities section. Where in user is going to select two different currency types from listview, in the existing feature there was no filter option for listviews. So here in this contribution implemented search for both to and from listviews of the currencies.
Link to Task RequestHow did you implement it/them?
To achieve this i have created filterable implementation to recyclerview adapter. OnTextChangedListenerused filter override method to filter from existing list update listview.
@Override
public Filter getFilter() {
return new Filter() {
@Override
protected FilterResults performFiltering(CharSequence charSequence) {
String charString = charSequence.toString();
if (charString.isEmpty()) {
mListCurrencyNamesFiltered = mListCurrencyNames;
} else {
List<CurrencyName> filteredList = new ArrayList<>();
for (CurrencyName row : mListCurrencyNames) {
if (row.getShortName().toLowerCase().contains(charString.toLowerCase()) ||
row.getAbrivation().toLowerCase().contains(charSequence)) {
filteredList.add(row);
}
}
mListCurrencyNamesFiltered = filteredList;
}
FilterResults filterResults = new FilterResults();
filterResults.values = mListCurrencyNamesFiltered;
return filterResults;
}
@Override
protected void publishResults(CharSequence charSequence, FilterResults filterResults) {
mListCurrencyNamesFiltered = (ArrayList<CurrencyName>) filterResults.values;
notifyDataSetChanged();
}
};
}