/*
* Copyright 2011 Marcy Gordon
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package edu.usf.cutr.opentripplanner.android;
import android.app.Application;
import java.util.concurrent.TimeUnit;
import edu.usf.cutr.opentripplanner.android.model.Server;
/*
* Modified by Khoa Tran
*/
public class OTPApp extends Application {
public static final int CONNECTION_FAILURE_RESOLUTION_REQUEST_CODE = 9000;
public static final int CHECK_GOOGLE_PLAY_REQUEST_CODE = 3;
public static final int SETTINGS_REQUEST_CODE = 2;
public static final int CHOOSE_CONTACT_REQUEST_CODE = 1;
public static final String METADATA_LOCATION = "/metadata";
public static final String BIKE_RENTAL_LOCATION = "/bike_rental";
public static final String TRIP_TIMES_UPDATES_LOCATION_BEFORE_ID = "/index/trips/";
public static final String TRIP_TIMES_UPDATES_LOCATION_AFTER_ID = "/stoptimes";
public static final String PLAN_LOCATION = "/plan";
public static final String SERVER_INFO_LOCATION_OLD = "/serverinfo";
public static final String SERVER_INFO_LOCATION_NEW = "";
/** Since OTP version 0.11 (API_VERSION_v1), duration is published in seconds, before in ms */
public static final int API_VERSION_MINOR_011 = 11;
/** Since OTP version 0.19 (API_VERSION_v2), router metadata is published via /routers/default endpoint */
public static final int API_VERSION_MINOR_019 = 19;
/** Since OTP version 1.0.0 (API_VERSION_v3), busish and trainish modes are not supported any more */
public static final int API_VERSION_V3 = 3;
/** Since OTP version 0.19 (API_VERSION_v2), router metadata is published via /routers/default endpoint */
public static final int API_VERSION_V2 = 2;
public static final int API_VERSION_V1 = 1;
public static final int API_VERSION_PRE_V1 = 0;
public static final String FOLDER_STRUCTURE_PREFIX_NEW = "/routers/default";
public static final String FOLDER_STRUCTURE_PREFIX_OLD = "";
public static final String URL_ENCODING = "UTF-8";
public static final String REFRESH_SERVER_RETURN_KEY = "RefreshServer";
public static final String CHANGED_SELECTED_CUSTOM_SERVER_RETURN_KEY
= "ChangedSelectedCustomServer";
public static final String CHANGED_MAP_TILE_PROVIDER_RETURN_KEY = "ChangedMapTileProvider";
public static final String LIVE_UPDATES_DISABLED_RETURN_KEY = "LiveUpdatesDisabled";
public static final String CHANGED_PARAMETERS_MUST_REQUEST_TRIP_RETURN_KEY = "ChangedParameters";
public static final String TAG_FRAGMENT_MAIN_FRAGMENT = "mainFragment";
public static final String TAG_FRAGMENT_DATE_TIME_DIALOG = "dateTimeDialog";
public static final String MAP_TILE_GOOGLE = "Google";
public static final String MAP_TILE_GOOGLE_HYBRID = "Google hybrid";
public static final String MAP_TILE_GOOGLE_NORMAL = "Google normal";
public static final String MAP_TILE_GOOGLE_SATELLITE = "Google satellite";
public static final String MAP_TILE_GOOGLE_TERRAIN = "Google terrain";
public static final int CUSTOM_MAP_TILE_SMALL_HEIGHT = 256;
public static final int CUSTOM_MAP_TILE_SMALL_WIDTH = 256;
public static final int CUSTOM_MAP_TILE_BIG_HEIGHT = 512;
public static final int CUSTOM_MAP_TILE_BIG_WIDTH = 512;
public static final int CUSTOM_MAP_TILE_Z_INDEX = -1;
public static final double BIKE_PARAMETERS_MIN_VALUE = 0.0;
public static final double BIKE_PARAMETERS_QUICK_DEFAULT_VALUE = 1.0 / 3.0;
public static final double BIKE_PARAMETERS_FLAT_DEFAULT_VALUE = 2.0 / 3.0;
public static final double BIKE_PARAMETERS_MAX_VALUE = 1.0;
public static final float COORDINATES_IMPORTANT_DIFFERENCE = 2000f;
public static final int ADDRESS_MAX_LINES_TO_SHOW = 5;
//in meters
public static final int GEOCODING_MAX_ERROR = 100;
public static final int HTTP_CONNECTION_TIMEOUT = 15000;
public static final int HTTP_SOCKET_TIMEOUT = 15000;
public static final String BUNDLE_KEY_MAP_FAILED = "Map failed";
public static final String BUNDLE_KEY_MAP_CAMERA = "Map Camera";
public static final String BUNDLE_KEY_MAP_START_MARKER_POSITION = "Map StartMarkerPosition";
public static final String BUNDLE_KEY_MAP_END_MARKER_POSITION = "Map EndMarkerPosition";
public static final String BUNDLE_KEY_TB_START_LOCATION = "tbStartLocation";
public static final String BUNDLE_KEY_TB_END_LOCATION = "tbEndLocation";
public static final String BUNDLE_KEY_OTP_BUNDLE = "OTP bundle";
public static final String BUNDLE_KEY_APP_STARTS = "app starts";
public static final String BUNDLE_KEY_IS_START_LOCATION_GEOCODING_PROCESSED
= "startlocation geocoding processed";
public static final String BUNDLE_KEY_IS_END_LOCATION_GEOCODING_PROCESSED
= "enlocation geocoding processed";
public static final String BUNDLE_KEY_IS_START_LOCATION_CHANGED_BY_USER
= "startlocation changed by user";
public static final String BUNDLE_KEY_IS_END_LOCATION_CHANGED_BY_USER
= "endlocation changed by user";
public static final String BUNDLE_KEY_RESULT_TRIP_START_LOCATION = "result trip start location";
public static final String BUNDLE_KEY_RESULT_TRIP_END_LOCATION = "result trip end location";
public static final String BUNDLE_KEY_SAVED_LAST_LOCATION = "saved last location";
public static final String BUNDLE_KEY_SAVED_LAST_LOCATION_CHECKED_FOR_SERVER
= "saved last location checked for server";
public static final String BUNDLE_KEY_TRIP_DATE = "trip date";
public static final String BUNDLE_KEY_ARRIVE_BY = "arrive by";
public static final String BUNDLE_KEY_TIMEPICKER_SAVED_HOUR = "timepicker hours";
public static final String BUNDLE_KEY_TIMEPICKER_SAVED_MINUTE = "timepicker minutes";
public static final String BUNDLE_KEY_SETTINGS_INTENT = "timepicker minutes";
public static final String BUNDLE_KEY__IS_ALARM_BIKE_RENTAL_ACTIVE = "is alarm bike rental active";
public static final String BUNDLE_KEY_INTENT_TRIP_ID = "intent trip id";
public static final String BUNDLE_KEY_PREVIOUS_OPTIMIZATION = "previous Optimization";
public static final String BUNDLE_KEY_PREVIOUS_MODES = "previous mode";
public static final String BUNDLE_KEY_PREVIOUS_BIKE_TRIANGLE_MIN_VALUE = "previous bike triangle min value";
public static final String BUNDLE_KEY_PREVIOUS_BIKE_TRIANGLE_MAX_VALUE = "previous bike triangle max value";
public static final String BUNDLE_KEY_CUSTOM_SERVER_METADATA = "custom server metadata";
public static final int COLOR_ROUTE_LINE = 0x7F0000FF;
/**
* Preference keys
*/
public static final String PREFERENCE_KEY_ORIGIN_IS_MY_LOCATION = "origin_is_my_location";
public static final String PREFERENCE_KEY_DESTINATION_IS_MY_LOCATION
= "destination_is_my_location";
public static final String PREFERENCE_KEY_MAP_TILE_SOURCE = "map_tile_source";
public static final String PREFERENCE_KEY_GEOCODER_PROVIDER = "geocoder_provider";
public static final String PREFERENCE_KEY_AUTO_DETECT_SERVER = "auto_detect_server";
public static final String PREFERENCE_KEY_CUSTOM_SERVER_URL = "custom_server_url";
public static final String PREFERENCE_KEY_CUSTOM_SERVER_BOUNDS = "custom_server_bounds";
public static final String PREFERENCE_KEY_CUSTOM_SERVER_URL_IS_VALID
= "custom_server_url_is_valid";
public static final String PREFERENCE_KEY_REFRESH_SERVER_LIST = "refresh_server_list";
public static final String PREFERENCE_KEY_OTP_PROVIDER_FEEDBACK = "otp_provider_feedback";
public static final String PREFERENCE_KEY_MAX_WALKING_DISTANCE = "max_walking_distance";
public static final String PREFERENCE_KEY_WHEEL_ACCESSIBLE = "wheelchair_accessible";
public static final String PREFERENCE_KEY_SELECTED_SERVER = "selected_server";
public static final String PREFERENCE_KEY_SELECTED_CUSTOM_SERVER = "selected_custom_server";
public static final String PREFERENCE_KEY_USE_ANDROID_GEOCODER = "use_android_geocoder";
public static final String PREFERENCE_KEY_USE_INTELLIGENT_MARKERS = "use_intelligent_markers";
public static final String PREFERENCE_KEY_USE_DEVICE_TIMEZONE = "use_device_timezone";
public static final String PREFERENCE_KEY_LAST_TRAVERSE_MODE_SET = "last_traverse_mode_set";
public static final String PREFERENCE_KEY_LAST_BIKE_TRIANGLE_MIN_VALUE = "last_bike_triangle_min_value";
public static final String PREFERENCE_KEY_LAST_BIKE_TRIANGLE_MAX_VALUE = "last_bike_triangle_max_value";
public static final String PREFERENCE_KEY_LAST_OPTIMIZATION = "last_optimization";
public static final String PREFERENCE_KEY_API_VERSION = "last_api_version";
public static final String PREFERENCE_KEY_FOLDER_STRUCTURE_PREFIX = "folder_structure_prefix";
public static final String PREFERENCE_KEY_LIVE_UPDATES = "live_updates";
public static final String PREFERENCE_KEY_LIVE_UPDATES_CATEGORY = "live_updates_category";
public static final String PREFERENCE_KEY_REALTIME_AVAILABLE = "real_time_available";
public static final String PREFERENCE_KEY_PREFERENCE_SCREEN = "preferences_screen";
public static final String PREFERENCE_KEY_APP_VERSION = "app_version";
public static final String PREFERENCE_KEY_EXECUTED_VERSION_CODE_13 = "executed_version_13";
public static final String PREFERENCE_KEY_ABOUT = "about";
public static final String PREFERENCE_KEY_ABOUT_CATEGORY = "about_category";
private static Server selectedServer;
public static final String TAG = "OTP";
public static final int EXPIRATION_DAYS_FOR_SERVER_LIST = 3;
public static final float defaultInitialZoomLevel = 12;
public static final float defaultMediumZoomLevel = 14;
public static final float defaultMyLocationZoomLevel = 16;
public static final String FORMAT_COORDINATES = "#0.00000";
public static final String FORMAT_DISTANCE_METERS = "%.0f";
public static final String FORMAT_DISTANCE_KILOMETERS = "%.1f";
public static final String FORMAT_OTP_SERVER_DATE_RESPONSE = "yyyy-MM-dd\'T\'HH:mm:ssZZ";
public static final String FORMAT_OTP_SERVER_DATE_QUERY = "MM/dd/yy";
public static final String FORMAT_OTP_SERVER_TIME_QUERY = "kk:mm";
public static final String OTP_RENTAL_QUALIFIER = "_RENT";
public static final long DEFAULT_UPDATE_INTERVAL_BIKE_RENTAL = TimeUnit.SECONDS.toMillis(40);
public static final long DEFAULT_UPDATE_INTERVAL_TRIP_TIME = TimeUnit.SECONDS.toMillis(60);
public static final String INTENT_UPDATE_BIKE_RENTAL_ACTION
= "edu.usf.cutr.opentripplanner.android.OpenTripPlanner.UPDATE_BIKE_RENTAL";
public static final String INTENT_UPDATE_TRIP_TIME_ACTION
= "edu.usf.cutr.opentripplanner.android.OpenTripPlanner.UPDATE_TRIP_TIME";
public static final String INTENT_NOTIFICATION_ACTION_OPEN_APP
= "edu.usf.cutr.opentripplanner.android.OpenTripPlanner.NOTIFICATION_OPEN_APP";
public static final String INTENT_NOTIFICATION_ACTION_DISMISS_UPDATES
= "edu.usf.cutr.opentripplanner.android.OpenTripPlanner.NOTIFICATION_DISMISS_UPDATES";
public static final String INTENT_NOTIFICATION_RESUME_APP_WITH_TRIP_ID
= "edu.usf.cutr.opentripplanner.android.OpenTripPlanner.NOTIFICATION_RESUME";
/**
* Sets the currently selected OTP server
*
* @param sServer the selected OTP server
*/
public void setSelectedServer(Server sServer) {
selectedServer = sServer;
// new MetadataRequest(activity).execute("");
}
/**
* Gets the currently selected OTP server
*
* @return the currently selected OTP server
*/
public Server getSelectedServer() {
return selectedServer;
}
}