package edu.mit.mitmobile2.tour; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.widget.ImageButton; import android.widget.TextView; import edu.mit.mitmobile2.AudioPlayer; import edu.mit.mitmobile2.NewModule; import edu.mit.mitmobile2.NewModuleActivity; import edu.mit.mitmobile2.R; import edu.mit.mitmobile2.RemoteImageView; import edu.mit.mitmobile2.tour.Tour.SideTrip; import edu.mit.mitmobile2.tour.Tour.Site; public class TourSideTripActivity extends NewModuleActivity { private String mTitle; private String mHtml; private String mPhotoUrl; private String mAudioUrl; private static String SITE_GUID = "site_guid"; private static String SIDETRIP_ID = "sidetrip_id"; private static String IS_ON_SITE = "is_on_site"; private AudioPlayer mAudioPlayer; public static void launch(Context context, String siteGuid, String sidetripId, boolean isOnSite) { Intent intent = new Intent(context, TourSideTripActivity.class); intent.putExtra(SITE_GUID, siteGuid); intent.putExtra(SIDETRIP_ID, sidetripId); intent.putExtra(IS_ON_SITE, isOnSite); context.startActivity(intent); } @Override protected void onCreate(Bundle savedInstance) { super.onCreate(savedInstance); String siteGuid = getIntent().getStringExtra(SITE_GUID); String sidetripId = getIntent().getStringExtra(SIDETRIP_ID); boolean isOnSite = getIntent().getBooleanExtra(IS_ON_SITE, true); Site site = TourModel.getTour(this).getSite(siteGuid); SideTrip sidetrip = site.getSideTrip(sidetripId, isOnSite); mTitle = sidetrip.getTitle(); mHtml = sidetrip.getHtml(); mPhotoUrl = sidetrip.getPhotoUrl(); mAudioUrl = sidetrip.getAudioUrl(); setContentView(R.layout.tour_side_trip); TextView titleView = (TextView) findViewById(R.id.tourStopTitle); titleView.setText(mTitle); View backRow = findViewById(R.id.tourSideTripBackRow); backRow.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TourSideTripActivity.this.finish(); } }); WebView bodyView = (WebView) findViewById(R.id.tourStopWebView); String pageHtml = TourHtml.tourStopHtml(this, mHtml, null, null); bodyView.loadDataWithBaseURL(null, pageHtml, "text/html", "utf-8", null); if(mPhotoUrl != null) { View imageDividerView = findViewById(R.id.tourStopPhotoDivider); imageDividerView.setVisibility(View.VISIBLE); RemoteImageView imageView = (RemoteImageView) findViewById(R.id.tourStopPhoto); imageView.setVisibility(View.VISIBLE); imageView.setURL(mPhotoUrl); } final ImageButton audioButton = (ImageButton) findViewById(R.id.tourVoiceOverButton); if(mAudioUrl != null) { audioButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mAudioPlayer = new AudioPlayer(); mAudioPlayer.togglePlay(mAudioUrl, audioButton); } }); } else { audioButton.setVisibility(View.GONE); } } @Override protected NewModule getNewModule() { return new TourModule(); } @Override public boolean isModuleHomeActivity() { return false; } @Override protected void onStop() { super.onStop(); if(mAudioPlayer != null) { mAudioPlayer.stop(); } } @Override protected boolean isScrollable() { return false; } @Override protected void onOptionSelected(String optionId) { } }