/*******************************************************************************
* Copyright (c) 2011 Michel DAVID mimah35-at-gmail.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
package fr.gotorennes;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.location.Location;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import fr.gotorennes.domain.Station;
import fr.gotorennes.util.LocationUtils;
public class GoToRennesActivity extends AbstractActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected void init(Intent intent) {
loadMenu();
}
@Override
protected String getTrackingName() {
return "accueil";
}
protected void loadMenu() {
SharedPreferences prefs = getSharedPreferences("fr.gotorennes.Application", 0);
if (prefs.getBoolean("firstLaunch", true)) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(getString(R.string.premierDemarrage));
builder.setPositiveButton(getString(R.string.ok), new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
prefs.edit().putBoolean("firstLaunch", false).commit();
}
Uri uri = getIntent().getData();
if( uri != null) {
String stationCode = uri.getLastPathSegment();
startStationActivity(stationCode);
}
}
protected void startStationActivity(String stationCode) {
try {
Station station = goToRennes.getBusDao().getStation(stationCode);
Intent stationIntent = new Intent(getApplicationContext(), BusStationActivity.class);
stationIntent.putExtra("station", station);
startActivity(stationIntent);
}
catch (Exception ex) {
Log.e("GoToRennes", ex.getMessage());
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK) {
loadMenu();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
boolean result = super.onCreateOptionsMenu(menu);
menu.findItem(R.id.accueil).setVisible(false);
return result;
}
@Override
protected int getMapIcon() {
return 0;
}
@Override
public void showMap(View view) {
Intent intent = new Intent(getApplicationContext(), ProximityMapActivity.class);
Location location = LocationUtils.getLocation(this);
if(location != null) {
intent.putExtra("latitude", location.getLatitude());
intent.putExtra("longitude", location.getLongitude());
}
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
public void showFavoris(View view) {
Intent intent = new Intent(getApplicationContext(), FavorisActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
public void showBus(View view) {
Intent intent = new Intent(getApplicationContext(), BusLignesActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
//intent = new Intent(getApplicationContext(), BusStationGroupsActivity.class);
//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
}
public void showDirections(View view) {
Intent intent = new Intent(getApplicationContext(), ItineraireActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
public void showBikes(View view) {
Intent intent = new Intent(getApplicationContext(), BikeStationsActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
public void showMetro(View view) {
Intent intent = new Intent(getApplicationContext(), MetroStationsActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
public void showRelays(View view) {
Intent intent = new Intent(getApplicationContext(), RelayParksActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
public void showPdvs(View view) {
Intent intent = new Intent(getApplicationContext(), PointDeVentesActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
public void showCredits(View view) {
Intent intent = new Intent(getApplicationContext(), CreditsActivity.class);
startActivity(intent);
}
public void showUpdate(View view) {
update();
}
}