/*******************************************************************************
* 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.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.location.Location;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
import fr.gotorennes.domain.RelayPark;
import fr.gotorennes.util.LocationUtils;
public class RelayParkActivity extends AbstractActivity {
private RelayPark relayPark;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.relaypark);
}
@Override
protected String getTrackingName() {
return "parcRelais";
}
@Override
protected void init(Intent intent) {
relayPark = intent.getParcelableExtra("relayPark");
latitude = relayPark.latitude;
longitude = relayPark.longitude;
ProximiteResultActivity.populateRelayPark(this.getWindow().getDecorView(), relayPark, false);
CheckBox favoris = (CheckBox) findViewById(R.id.favoris);
SharedPreferences prefs = getSharedPreferences("fr.gotorennes.Application", 0);
favoris.setChecked(prefs.contains("relayPark-" + relayPark.name));
TextView distance = (TextView) findViewById(R.id.distance);
final Location location = LocationUtils.getLocation(this);
if(location != null) {
distance.setText(Html.fromHtml("<u>" + AbstractMapActivity.getFormattedDistance(location.getLatitude(), location.getLongitude(), relayPark.latitude, relayPark.longitude)
+ "</u>"));
distance.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), ItineraireMapActivity.class);
intent.putExtra("latitude", location.getLatitude());
intent.putExtra("longitude", location.getLongitude());
intent.putExtra("latitudeDest", relayPark.latitude);
intent.putExtra("longitudeDest", relayPark.longitude);
intent.putExtra("iconDest", getMapIcon());
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
}
else {
distance.setText("--");
distance.setOnClickListener(null);
distance.setClickable(false);
}
}
@Override
protected int getMapIcon() {
return R.drawable.relaypark;
}
public void updateFavoris(View view) {
CheckBox checkbox = (CheckBox) view;
SharedPreferences prefs = getSharedPreferences("fr.gotorennes.Application", 0);
Editor editor = prefs.edit();
if (checkbox.isChecked()) {
editor.putString("relayPark-" + relayPark.name, relayPark.name);
Toast.makeText(getApplicationContext(), getString(R.string.parcRelaisAjoutFavoris), Toast.LENGTH_SHORT).show();
} else {
editor.remove("relayPark-" + relayPark.name);
Toast.makeText(getApplicationContext(), getString(R.string.parcRelaisSupprimeFavoris), Toast.LENGTH_SHORT).show();
}
editor.commit();
}
}