package com.viaccessorca.voplayerdemo;

import android.os.Environment;


/**
 * Application's global constants
 */
public class Constants {

    public static final String PREF_PROXY_TYPE = "proxyType";
    public static final String PREF_PROXY_URL = "proxyURL";
    public static final String PREF_PROXY_PORT = "proxyPort";

    public static final String PREF_TYPICAL_BITRATE = "typicalBitrate";
    public static final String PREF_SURFACE_SECURE = "surfaceSecure";

    public static final String PREF_LOOP_MODE = "autoLoop";

    public static final String PREF_DL_START_DELAY = "DlStartDelay";

    public static final String PREF_FORCE_EVENT_PLAYLIST = "forceEventPlayList";

    public static final String PREF_ENABLE_LIVE_SEEKING = "enableLiveSeeking";

    public static final String PREF_ENABLE_SCRUBBING = "enableScrubbing";

    public static final String PREF_ENABLE_FAAS_OFFLINE = "enableFaasOffline";

    public static final String PREF_SHOW_PLAYER_INFO = "enablePlayerInfo";

    public static final String PREF_ENABLE_ABR_SENSITIVITY = "enableAbrSensitivity";

    public static final String PREF_CODEC_TYPE = "setCodecType";

    public static final String PREF_ENABLE_PLATFORM_AUDIO_DECODING = "enablePlatformAudioDecoding";

    public static final String PREF_ENABLE_INT_SUBTITLE_RENDERING = "enableInternalSubtitleRendering";

    public static final String PREF_TEXT_SUBTITLE_COLOR = "textSubtitlesColor";

    public static final String PREF_SET_AD_SEEK_TO_ALLOWED = "setAdSeekToAllowed";

    public static final String PREF_DISABLE_MAX_PLAYABLE_HEIGHT = "disableMaxPlayableHeight";

    public static final String PREF_ENABLE_ABR_GRAPH = "enableABRGraph";

    public static final String PREF_IP_RESOLVE_TYPE = "setIPResolveType";

    public static final String PREF_ENABLE_TEMPORARY_REDIRECT_AS_PERMANENT = "enableTemporaryRedirectAsPermanent";

    public static final String PREF_LOGLEVEL_AUDIO_DECODER = "loglevelAudioDecoder";
    public static final String PREF_LOGLEVEL_AUDIO_PRESENTER = "loglevelAudioPresenter";
    public static final String PREF_LOGLEVEL_AUDIO_SERVICE = "loglevelAudioService";
    public static final String PREF_LOGLEVEL_DEPACK = "loglevelDepack";
    public static final String PREF_LOGLEVEL_DRM = "loglevelDrm";
    public static final String PREF_LOGLEVEL_DRM_AGENT = "loglevelDrmAgent";
    public static final String PREF_LOGLEVEL_HTTP_STACK = "loglevelHttpStack";
    public static final String PREF_LOGLEVEL_LVMC_AUDIO = "loglevelLvmcAudio";
    public static final String PREF_LOGLEVEL_LVMC_JNI = "loglevelLvmcJni";
    public static final String PREF_LOGLEVEL_LVMC_VIDEO = "loglevelLvmcVideo";
    public static final String PREF_LOGLEVEL_LVVTB_VIDEO = "loglevelLvvtbVideo";
    public static final String PREF_LOGLEVEL_M4TOOL_URI = "loglevelM4toolUri";
    public static final String PREF_LOGLEVEL_MSH = "loglevelMsh";
    public static final String PREF_LOGLEVEL_NET_ENG = "loglevelNetEngine";
    public static final String PREF_LOGLEVEL_NET_ENG_AUCB = "loglevelNetEngineAuCb";
    public static final String PREF_LOGLEVEL_OFFLINE_VIEWING = "loglevelOfflineViewing";
    public static final String PREF_LOGLEVEL_PGDL_ENG = "loglevelPgdlEng";
    public static final String PREF_LOGLEVEL_PLAYER_GENERIC = "loglevelPlayerGeneric";
    public static final String PREF_LOGLEVEL_QP_PROXY = "loglevelQpProxy";
    public static final String PREF_LOGLEVEL_SSM = "loglevelSsm";
    public static final String PREF_LOGLEVEL_SUBTITLE_DECODER = "loglevelSubtitleDecoder";
    public static final String PREF_LOGLEVEL_VIDEO_DECODER = "loglevelVideoDecoder";
    public static final String PREF_LOGLEVEL_VIDEO_PRESENTER = "loglevelVideoPresenter";
    public static final String PREF_LOGLEVEL_VIDEO_RENDERER = "loglevelVideoRenderer";
    public static final String PREF_LOGLEVEL_VIDEO_SINK = "loglevelVideoSink";
    public static final String PREF_LOGLEVEL_VPS = "loglevelVps";
    public static final String PREF_LOGLEVEL_VPS_API = "loglevelVpsApi";
    public static final String PREF_LOGLEVEL_VPS_SUB = "loglevelVpsSub";
    public static final String PREF_LOGLEVEL_VPSIL = "loglevelVpsil";
    public static final String PREF_LOGLEVEL_VPSIL_CB = "loglevelVpsilCb";
    public static final String PREF_LOGLEVEL_VPSIL_OTHERS = "loglevelVpsilOthers";
    public static final String PREF_LOGLEVEL_VPSIL_UTILS = "loglevelVpsilUtils";
    public static final String PREF_LOGLEVEL_VAST = "loglevelVast";
    public static final String PREF_LOGLEVEL_VMAP = "loglevelVmap";
    public static final String PREF_LOGLEVEL_VMX = "loglevelVmx";

    /**
     * Intent keys recognized in incoming intents for player Activity
     */
    public static final String DATA_SOURCE_INTENT_SKEY = "dataSource";
    public static final String VCAS_BOOT_ADDRESS_INTENT_SKEY = "vmxBootAddress";
    public static final String VCAS_COMPANY_NAME_INTENT_SKEY = "vmxCompanyName";
    public static final String DB_FAAS_OFFLINE_SKEY = "dbFaasOffline";
    public static final String MARLIN_PROTECTED_SKEY = "MarlinProtected";
    public static final String VAST_URL_INTENT_SKEY = "VastUrl";
    public static final String VMAP_URL_INTENT_SKEY = "VmapUrl";
    public static final String FAST_STARTUP_BKEY = "FastStartup";
    public static final String LOCAL_SERVER_DEMO_BKEY = "LocalServerDemo";
    public static final String SECONDARY_CONTENT_URI_SKEY = "SecondaryContentUri";
    public static final String DRM_AGENT_TYPE_SKEY = "DrmAgentType";
    public static final String DRM_PERSONALIZATION_URL = "DrmPersonalizationUrl";
    public static final String DRM_PERSONALIZATION_APPVERSION = "DrmPersonalizationAppVersion";
    public static final String DRM_PERSONALIZATION_CUSTOM_DATA = "DrmPersonalizationCustomData";
    public static final String DRM_PERSONALIZATION_CUSTOMER_ID = "DrmPersonalizationCustomerID";
    public static final String DRM_LICENSE_URL_SKEY = "DrmLicenseAcquisitionUrl";
    public static final String DRM_LICENSE_URL_PARAMETERS_SKEY = "DrmLicenseAcquisitionUrlParameters";
    public static final String DRM_LICENSE_CUSTOM_DATA_SKEY  = "DrmLicenseAcquisitionCustomData";
    public static final String DRM_LICENSE_COOKIE_SKEY       = "DrmLicenseAcquisitionCookie";
    public static final String STORED_NAME_KEY               = "storedName";
    public static final String DRM_LICENSE_USE_VOSECURITYGATEWAY = "DrmUseVOSecurityGateway";
    public static final String DRM_CONTENT_IDENTIFIER            = "DrmContentIdentifier";

    // Authentec login
    public static final String AUTH_USER_NAME_INTENT_SKEY = "HttpAuthUsername";
    public static final String AUTH_PASSWORD_INTENT_SKEY = "HttpAuthPassword";

    // Drm agent types
    public static final String DRM_AGENT_TYPE = "DrmAgentType";
    public static final String DRM_AGENT_TYPE_PLAYREADY = "DrmAgentTypePlayready";
    public static final String DRM_AGENT_TYPE_WIDEVINE = "DrmAgentTypeWidevine";
    public static final String DRM_AGENT_TYPE_AES = "DrmAgentTypeAES";
    public static final String DRM_AGENT_TYPE_VODRM = "DrmAgentTypeVoDrm";

    //SSL
    public static final String SSL_CA_CERT_FILE_PATH_INTENT_SKEY = "SSLCACertFilePath";
    public static final String SSL_CA_CERT_FILE_TYPE_INTENT_SKEY = "SSLCACertFileType";
    public static final String SSL_CLIENT_CERT_FILE_PATH_INTENT_SKEY = "SSLClientCertFilePath";
    public static final String SSL_CLIENT_CERT_FILE_TYPE_INTENT_SKEY = "SSLClientCertFileType";
    public static final String SSL_CLIENT_KEY_FILE_PATH_INTENT_SKEY = "SSLClientKeyFilePath";
    public static final String SSL_CLIENT_KEY_FILE_TYPE_INTENT_SKEY = "SSLClientKeyFileType";

    // Custom header Http
    public static final String HTTP_CUSTOM_HEADER_INTENT_SKEY = "HttpCustomHeader";

    public static final String SUBTITLE_FILE_INTENT_SKEY = "subtitleFile";
    public static final String SUBTITLE_TRACK_INTENT_SKEY = "subtitleTrack";
    public static final String SUBTITLE_TRACKTYPE_INTENT_SKEY = "subtitleTrackType";

    public static final String RESUME_TIME_INTENT_IKEY = "resumeTime";

    public static final String LOCAL_SERVER_INTENT_ZKEY = "localServer";

    public static final String MEDIA_ID_SKEY = "mediaId";

    public static final String AUDIO_LANGUAGE_INTENT_SKEY = "audio_lng";

    public static final String DL_ORG_URI_INTENT_SKEY = "dlOriginalUri";

    public static final String HLS_CUSTOM_BITRATES_ZERO_LAG_AIKEY = "hls_zerolag_bitrates";

    public static final String ABR_LIVE_LATENCY_IKEY = "LiveLatency";

    public static final String EXT_THUMBNAILS_ZIP_URL_INTENT_SKEY = "ext_thumbnailzip_url";

    public static final String PLAYLIST_KEY = "hls_playlist";

    public static final String FORCE_MSS_UPDATE_MANIFEST_ZKEY = "ForceMSSUpdateManifest";

    // Flat 360 support
    public static final String FLAT_360_PLAYBACK_SUPPORT = "Flat360PlaybackSupport";
    public static final String PREF_FLAT_360_ZOOM = "flat360Zoom";
    public static final String PREF_FLAT_360_RATIO = "flat360Ratio";
    public static final String FLAT_360_ZOOM_DEFAULT = "70";
    public static final String FLAT_360_RATIO_DEFAULT = "16/9";

    public static final int LOCAL_HTTP_SERVER_PORT = 8889;
    public static final String LOCAL_HTTP_SERVER_WWWROOT = Environment.getExternalStorageDirectory().getAbsolutePath() + "/qp_cache";

    public static final int LOCAL_HTTP_SERVER_PORT_FAST = 8666;
    public static final int LOCAL_HTTP_SERVER_PORT_SLOW = 8777;
    public static final String LOCAL_HTTP_SERVER_WWWROOT_FOR_IS = Environment.getExternalStorageDirectory().getAbsolutePath() + "/qp_cache_demoIS";

    /**
     * Certificate types for https streams
     */
    public static final int SSL_TYPE_UNKNOWN = -1;
    public static final int SSL_TYPE_PEM = 0;
    public static final int SSL_TYPE_DER = 1;
    public static final int SSL_TYPE_ENG = 2;

    public static final String LOGO_VO_URL = "https://faas-sec.squadeo.tv/testGCCRV3/images/logo_viaccess.png";
    public static final String MEDIA_LIST_OVERRIDE_FILE = Environment.getExternalStorageDirectory().getAbsolutePath() + "/vop_medias.xml";

    // Chrome Cast
    public static final String CCAST_ALTERNATE_URL_KEY = "CCastAlternateURL";
    public static final String CCAST_ALTERNATE_DRM_KEY = "CCastAlternateDrmAgentType";
    public static final String CCAST_ALTERNATE_DRM_LICENSER_URL_KEY = "CCastAlternateDrmLicenserUrl";
    public static final String CCAST_ALTERNATE_DRM_CUSTOM_DATA_KEY = "CCastAlternateDrmCustomData";
    public static final String CCAST_ALTERNATE_DRM_COOKIE_KEY = "CCastAlternateDrmCookie";

    // Scrubbing
    public static final String SCRUBBING_OPTION_SERVER = "SrubbingOptionServer";
    public static final String SCRUBBING_OPTION_CHANNEL = "ScrubbingOptionChannel";
    public static final String SCRUBBING_OPTION_ASSET = "ScrubbingOptionAsset";
    public static final String SCRUBBING_OPTION_SERVICE_TYPE = "ScrubbingOptionServiceType";
    public static final String SCRUBBING_OPTION_START = "ScrubbingOptionStart";
    public static final String SCRUBBING_OPTION_END = "ScrubbingOptionEnd";
    public static final String SCRUBBING_OPTION_SPRITE_RESOLUTION = "ScrubbingOptionSpriteResolution";
    public static final String SCRUBBING_OPTION_SPRITE_COLUMS = "ScrubbingOptionSpriteColums";
    public static final String SCRUBBING_OPTION_SPRITE_LINES = "ScrubbingOptionSpriteLines";
    public static final String SCRUBBING_OPTION_SPRITE_INTERVAL = "ScrubbingOptionSpriteInterval";
}
