package cgeo.geocaching.apps.navi;
import cgeo.geocaching.R;
import cgeo.geocaching.location.Geopoint;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
class NavigonApp extends AbstractPointNavigationApp {
private static final String INTENT = "android.intent.action.navigon.START_PUBLIC";
private static final String INTENT_EXTRA_KEY_LATITUDE = "latitude";
private static final String INTENT_EXTRA_KEY_LONGITUDE = "longitude";
NavigonApp() {
super(getString(R.string.cache_menu_navigon), INTENT);
}
@Override
public void navigate(@NonNull final Context context, @NonNull final Geopoint point) {
final Intent intent = new Intent(INTENT);
/*
* Long/Lat are float values in decimal degree format (+-DDD.DDDDD).
* Example:
* intent.putExtra(INTENT_EXTRA_KEY_LATITUDE, 46.12345f)
* intent.putExtra(INTENT_EXTRA_KEY_LONGITUDE, 23.12345f)
*/
intent.putExtra(INTENT_EXTRA_KEY_LATITUDE, (float) point.getLatitude());
intent.putExtra(INTENT_EXTRA_KEY_LONGITUDE, (float) point.getLongitude());
context.startActivity(intent);
}
}