package uk.co.traintrackapp.traintrack; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import uk.co.traintrackapp.traintrack.adapter.JourneyLegRowAdapter; import uk.co.traintrackapp.traintrack.model.Journey; import uk.co.traintrackapp.traintrack.model.JourneyLeg; import uk.co.traintrackapp.traintrack.utils.Utils; public class JourneyActivity extends AppCompatActivity { private Journey journey; private JourneyLegRowAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_journey); journey = (Journey) getIntent().getExtras().getSerializable(Utils.ARGS_JOURNEY); if (journey == null) { finish(); return; } Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setTitle("Journey"); getSupportActionBar().setDisplayHomeAsUpEnabled(true); final TextView name = (TextView) findViewById(R.id.name); name.setText(journey.toString()); final TextView date = (TextView) findViewById(R.id.date); //TODO change to journey date date.setText("TODO"); adapter = new JourneyLegRowAdapter(LayoutInflater.from(this), journey.getJourneyLegs()); final ListView list = (ListView) findViewById(R.id.list); list.setAdapter(adapter); list.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View view, int index, long x) { JourneyLeg journeyLeg = adapter.getItem(index); Intent intent = new Intent().setClass(getApplicationContext(), JourneyLegActivity.class); //TODO add whole journey leg intent.putExtra(Utils.ARGS_JOURNEY_LEG_UUID, journeyLeg.getUuid()); intent.putExtra(Utils.ARGS_JOURNEY_UUID, journey.getUuid()); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.journey, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.add_journey_leg: Toast.makeText(getApplicationContext(), "Add Journey Leg", Toast.LENGTH_LONG).show(); Intent intent = new Intent().setClass(getApplicationContext(), StationActivity.class); Bundle bundle = new Bundle(); bundle.putSerializable(Utils.ARGS_STATION, journey.getDestination()); intent.putExtra(Utils.ARGS_JOURNEY_UUID, journey.getUuid()); intent.putExtras(bundle); startActivity(intent); finish(); return true; case R.id.delete_journey: //TODO Delete this journey Toast.makeText(getApplicationContext(), "Journey was deleted", Toast.LENGTH_SHORT).show(); finish(); return true; case android.R.id.home: finish(); default: return super.onOptionsItemSelected(item); } } }