package com.example.agathe.tsgtest.carpooling; import android.app.Fragment; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import com.example.agathe.tsgtest.R; import com.example.agathe.tsgtest.dto.CommonTravel; import java.util.ArrayList; /** * Created by agathe on 05/12/16. */ public class PotentialCarpoolersFragment extends Fragment { private ListView cardsList; private int pageNumber = 0; private ArrayList<CommonTravel> travels = new ArrayList<>(); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_carpoolers, container, false); cardsList = (ListView) rootView.findViewById(R.id.cards_list); pageNumber = getArguments().getInt("pageNumber"); travels = getArguments().getParcelableArrayList("travels"); setupList(); return rootView; } private void setupList() { cardsList.setAdapter(createAdapter()); } private CardsAdapterCarpooling createAdapter() { ArrayList<String> itemsName = new ArrayList<>(); ArrayList<String> itemsRelation = new ArrayList<>(); for (int i = 0; i < travels.size(); i++) { itemsName.add(travels.get(pageNumber).users.get(i).name); itemsRelation.add(travels.get(pageNumber).users.get(i).relation); } return new CardsAdapterCarpooling(getActivity(), itemsName, itemsRelation, new ListItemButtonClickListener()); } public final class ListItemButtonClickListener implements View.OnClickListener { @Override public void onClick(View v) { for (int i = cardsList.getFirstVisiblePosition(); i <= cardsList.getLastVisiblePosition(); i++) { if (v == cardsList.getChildAt(i - cardsList.getFirstVisiblePosition()).findViewById(R.id.list_item_card_button)) { Intent smsIntent = new Intent(Intent.ACTION_VIEW); String phoneNumber = travels.get(pageNumber).users.get(i).phoneNumber; smsIntent.putExtra("address", phoneNumber); smsIntent.putExtra("sms_body","Hello, I saw that we often do the same trajects, from " + travels.get(pageNumber).departure + " to " + travels.get(pageNumber).destination + ". Are you interested by carpooling together ?"); smsIntent.setData(Uri.parse("smsto:" + phoneNumber)); startActivity(smsIntent); } } } } }