package edu.mit.mitmobile2.objs; import java.util.ArrayList; import java.util.TimerTask; import android.content.Context; import android.content.Intent; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; import edu.mit.mitmobile2.R; import edu.mit.mitmobile2.shuttles.MITStopsSliderActivity; import edu.mit.mitmobile2.shuttles.ShuttleModel; public class StopMapItem extends MapItem { @Override public View getCallout(Context mContext) { return null; } @Override public View getCallout(Context mContext, MapItem mapItem) { return null; } @Override public View getCallout(Context mContext, ArrayList<? extends MapItem> mapItems) { return null; } @Override public View getCallout(final Context mContext, final ArrayList<? extends MapItem> mapItems, final int position) { String title = (String)this.getItemData().get("title"); String arriving = null; long curTime = System.currentTimeMillis(); int next = Integer.parseInt(this.getItemData().get("next").toString()); int mins = (int) (next*1000 - curTime)/1000/60; int hours = mins / 60; if (next==0) { arriving = ""; } else if (hours>1) { mins = mins - (hours*60); arriving = "arriving in " + String.valueOf(hours) + " hrs " + String.valueOf(mins) + " mins"; } else if (hours>0) { mins = mins - (hours*60); arriving = "arriving in " + String.valueOf(hours) + " hr " + String.valueOf(mins) + " mins"; } else { if (mins==0) arriving = "arriving now!"; else if (mins==1) arriving = "arriving in 1 min"; else arriving = "arriving in " + String.valueOf(mins) + " mins"; } LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); LinearLayout calloutLayout = (LinearLayout) inflater.inflate(R.layout.map_shuttle_callout, null); TextView calloutShuttleTitle = (TextView)calloutLayout.findViewById(R.id.callout_shuttle_title); calloutShuttleTitle.setText(title); TextView calloutShuttleArriving = (TextView)calloutLayout.findViewById(R.id.callout_shuttle_arriving); calloutShuttleArriving.setText(arriving); //calloutLayout.on calloutLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(mContext, MITStopsSliderActivity.class); i.putExtra(ShuttleModel.KEY_ROUTE_ID, (String)mapItems.get(position).getItemData().get("route_id")); i.putExtra(ShuttleModel.KEY_STOP_ID, (String)mapItems.get(position).getItemData().get("id")); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); mContext.startActivity(i); } }); return calloutLayout; } class MyTimerTask extends TimerTask { @Override public void run() { // ERROR Log.d(TAG,"timer"); try { RouteItem route = ShuttleModel.getRoute((String)itemData.get("route_id")); Log.d(TAG,route.route_id); } catch (Exception e) { Log.d("ZZZ","exception = " + e.getMessage()); } } } }