Advertisement
Guest User

Untitled

a guest
Dec 21st, 2016
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 29.90 KB | None | 0 0
  1. package com.magisto.utils;
  2.  
  3. import android.os.Environment;
  4. import android.util.SparseArray;
  5. import junit.framework.AssertionFailedError;
  6.  
  7. import java.io.File;
  8. import java.lang.reflect.Field;
  9. import java.util.HashMap;
  10. import java.util.concurrent.TimeUnit;
  11.  
  12. import com.magisto.BuildConfig;
  13. import com.magisto.utils.error_helper.ErrorHelper;
  14.  
  15. /**
  16.  * Application constant values.
  17.  *
  18.  * @author mariia.sheremet
  19.  */
  20. public class Defines {
  21.     private final static String TAG = Defines.class.getSimpleName();
  22.    
  23.     public static final String STATUS_BLOCKED = "BLOCK";
  24.  
  25.     public enum ServerConfiguration {
  26.         Production,
  27.         Debug
  28.     }
  29.  
  30.     public static final ServerConfiguration SERVER_CONFIGURATION = ServerConfiguration.Production;
  31.  
  32.     public static final String NONE = "None";
  33.  
  34.     public static final String MIME_TYPE_MP4 = "video/mp4";
  35.     public static final String VIDEO_FILE_EXTENSION = ".mp4";
  36.    
  37.     // Mime types
  38.     public static final String MIME_TEXT_PLAIN = "text/plain";
  39.     public static final String MESSAGE_MYME_TYPE = "message/rfc822";
  40.    
  41.     // Spanable text separators
  42.     public static final String SPANNABLE_START = "{";
  43.     public static final String SPANNABLE_END = "}";
  44.    
  45.     // Application settings
  46.     public static final int PASSWORD_MIN_LENGHT = 6;
  47.  
  48.     @SuppressWarnings({"ConstantConditions", "StringEquality"})
  49.     public static final String THE_PROTOCOL = BuildConfig.USE_SERVER == BuildConfig.MAGISTO ? "https://" : "http://";
  50.     public static final String THE_SERVER = BuildConfig.USE_SERVER;
  51.     public static final String C2DM_SENDER_ID = "774247004952";
  52.     public static final String TERMS_OF_SERVICE_URL = "https://" + THE_SERVER + "/tos";
  53.     public static final String FAQ_URL = "https://" + THE_SERVER + "/faq/android";
  54.     public static final String MAGISTO_GOOGLE_PLUS_URL = "https://plus.google.com/106158729510383591666";
  55.     public static final String GOOGLE_TYPE = "com.google";
  56.     public static final String DEEPLINKING_SCHEME = "magisto";
  57.     public static final String PLAY_MARKET_PRODUCT_PREFIX = "play.google.com/store/apps/details";
  58.  
  59.     // expiration time, in milliseconds
  60.     public static final long IMAGE_CACHE_EXPIRE = TimeUnit.DAYS.toMillis(30 * 4); // 4 mounths
  61.     public static final long ALBUM_TEMPLATES_LIB_CACHE_TIMEOUT = 60 * 24; // 24 hours
  62.     // in bytes
  63.     public static final int UPLOADING_MIN_ACCURACY = 128 * 1024; // 128 kB
  64.  
  65.     public static final int YEAR_OF_EPOCH = 1970;
  66.     public static final int MAX_TITLE_LENGHT = 64;
  67.     public static final String SOFTBANK_DEVICE_MODEL = "202f";
  68.  
  69.     // Premium
  70.     public static final long MONTH_DAYS = 31;
  71.  
  72.     public static final String OAUTH_VERIFIER = "oauth_verifier";
  73.  
  74.     // Twitter data
  75.     public static final String TWITTER_CONSUMER_KEY = "GVHzphBdueE8R4dNJys4Q";
  76.     public static final String TWITTER_CONSUMER_SECRET = "qGN7vgmBanGO9UmhOVI29JRUoX1LcpO4NfIsUkdbKg";
  77.     public static final String TWITTER_OAUTH_CALLBACK_SCHEME = "x-oauthflow-twitter";
  78.     public static final String TWITTER_OAUTH_CALLBACK_HOST = "callback";
  79.     public static final String TWITTER_OAUTH_CALLBACK_URL = TWITTER_OAUTH_CALLBACK_SCHEME
  80.             + "://" + TWITTER_OAUTH_CALLBACK_HOST;
  81.  
  82.     // Google account data
  83.     public static final String GOOGLE_API_CLIENT_ID = "774247004952-vcjogtha2dskkbai4t9c1e0s0g6jvbor.apps.googleusercontent.com";
  84.     public static final String GOOGLE_API_CLIENT_SECRET = "9k6wIqqfyR8h90JuEKMBHixV";
  85.  
  86.     // Application ui settings
  87.     public static final int MIN_PASSWORD_LENGTH = 6;
  88.  
  89.     // Server data
  90.     public static final String SERVER_URL = "http://" + THE_SERVER + "/api/";
  91.  
  92.     @SuppressWarnings({"ConstantConditions", "StringEquality"})
  93.     public static final String SERVER_URL_SECURE = THE_PROTOCOL + THE_SERVER + "/api/";
  94.     public static final String USER_AGENT_PREFFIX_1 = "Magisto";
  95.    
  96.     public static final String SHARING_EMAIL_MESSAGE = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><p>%s</p><p><a href=\"%s\">%s</a></p><p>%s<a href=\"http://" + THE_SERVER + "\">http://" + THE_SERVER + "</a><br/>%s</body></html>";
  97.     // Response status
  98.     public static final String STATUS_OK = "OK";
  99.     public static final String STATUS_FAIL = "FAIL";
  100.  
  101.     // Service messages identifier
  102.     public static final String HANDLER_MSG = "message";
  103.  
  104.     // Service actions
  105.     public static final String INTENT_AUTHENTICATION_ACTION = "com.magisto.authentication";
  106.     public static final String INTENT_GOOGLE_PLUS_AUTHENTICATION_ACTION = "com.magisto.google.plus.authentication";
  107.     public static final String INTENT_FACEBOOK_AUTHENTICATION_ACTION = "com.magisto.facebook.authentication";
  108.     public static final String INTENT_ODNOKLASSNIKI_AUTHENTICATION_ACTION = "com.magisto.odnoklassniki.authentication";
  109.     public static final String INTENT_TRACKS_ACTION = "com.magisto.tracks";
  110.     public static final String INTENT_MY_VIDEOS_ACTION = "com.magisto.my.videos";
  111.     public static final String INTENT_MY_ALBUMS_ACTION = "com.magisto.my.albums";
  112.     public static final String INTENT_ALBUMS_TO_ADD_ACTION = "com.magisto.albums.to.add";
  113.     public static final String INTENT_VIDEO_ALBUMS_ACTION = "com.magisto.video.albums";
  114.     public static final String INTENT_ADD_VIDEO_TO_ALBUM = "com.magisto.add.video.to.album";
  115.     public static final String INTENT_SET_NEW_VIDEO_ALBUMS = "com.magisto.set.new.video.albums";
  116.     public static final String INTENT_MY_VIDEOS_REFRESH_ACTION = "com.magisto.my.videos.refresh";
  117.     public static final String INTENT_TEST_ACTION = "com.magisto.test";
  118.     public static final String INTENT_LOCAL_SESSION_UPDATED = "com.magisto.local.session.updated";
  119.     public static final String INTENT_REGISTER_DEVICE_ACTION = "com.magisto.c2dm.registered.device";
  120.     public static final String INTENT_UNREGISTER_DEVICE_ACTION = "com.magisto.c2dm.unregister.device";
  121.     public static final String INTENT_NEW_VIDEO_ACTION = "com.magisto.get.video";
  122.     public static final String INTENT_GET_ACCOUNT_ACTION = "com.magisto.get.account";
  123.     public static final String INTENT_NO_INTERNET_ACTION = "com.magisto.no.internet";
  124.     public static final String INTENT_CHANGE_DETAILS_ACTION = "com.magisto.change.details";
  125.     public static final String INTENT_CHANGE_PASSWORD_ACTION = "com.magisto.change.passwords";
  126.     public static final String INTENT_CREATE_ACCOUNT = "com.magisto.create.account";
  127.     public static final String INTENT_REMOVE_SOCIAL = "com.magisto.remove.social";
  128.     public static final String INTENT_REMOVE_TWITTER = "com.magisto.remove.twitter";
  129.     public static final String INTENT_REMOVE_GOOGLE_SOCIAL = "com.magisto.remove.google.social";
  130.     public static final String INTENT_ATTACH_FACEBOOK = "com.magisto.fb.attach";
  131.     public static final String INTENT_ATTACH_TWITTER = "com.magisto.twitter.attach";
  132.     public static final String INTENT_ATTACH_SOCIAL = "com.magisto.attach.social";
  133.     public static final String INTENT_FB_DETACH = "com.magisto.fb.detach";
  134.     public static final String INTENT_TRACK_CREDITS = "com.magisto.track.credits";
  135.     public static final String INTENT_MUSICLIB_CREDS = "com.magisto.musiclib.creds";
  136.     public static final String INTENT_DELETE_VIDEO_ACTION = "com.magisto.delete.video.action";
  137.     public static final String INTENT_DELETE_ALBUM_ACTION = "com.magisto.delete.album.action";
  138.     public static final String INTENT_SHARE_VIDEO = "com.magisto.share.video";
  139.     public static final String INTENT_SHARE_VIDEO_FACEBOOK = "com.magisto.share.video.facebook";
  140.     public static final String INTENT_SHARE_VIDEO_YOUTUBE = "com.magisto.share.video.youtube";
  141.     public static final String INTENT_SHARE_VIDEO_GDRIVE = "com.magisto.share.video.gdrive";
  142.     public static final String INTENT_CREATE_GUEST = "com.magisto.create.guest";
  143.     public static final String INTENT_UPGRADE_GUEST = "com.magisto.upgrade.guest";
  144.     public static final String INTENT_UPGRADE_GUEST_WITH_GOOGLE = "com.magisto.upgrade.guest.with.google";
  145.     public static final String INTENT_UPGRADE_GUEST_WITH_FACEBOOK = "com.magisto.upgrade.guest.with.facebook";
  146.     public static final String INTENT_UPGRADE_GUEST_WITH_ODNOKLASSNIKI = "com.magisto.upgrade.guest.with.odnoklassniki";
  147.     public static final String INVOKE_UPDATE_SETTIGNS_LISTENER = "com.magisto.invoke.update.settings.listener";
  148.     public static final String INTENT_REDIRECTED_PUSH_NOTIFICATION = "com.magisto.redirected.push.notification";
  149.     public static final String INTENT_THUMBNAILS_UPDATE = "com.magisto.thumbnails.update";
  150.     public static final String INTENT_THUMBNAIL_CREATED = "com.magisto.thumbnail.created";
  151.     public static final String INTENT_GET_SESSION_COUNT = "com.magisto.got.session.count";
  152.     public static final String INTENT_GET_NOT_COMPLETE_SESSIONS = "com.magisto.get.not.complete.sessions";
  153.     public static final String INTENT_GET_TRANSCODING_STATUS = "com.magisto.get.transcoding.status";
  154.     public static final String INTENT_GET_SESSION_STATE = "com.magisto.get.session.state";
  155.     public static final String INTENT_GET_DEVICE_CONFIG = "com.magisto.get.device.config";
  156.     public static final String INTENT_CHECK_PREMIUM = "com.magisto.check.premium";
  157.     public static final String INTENT_ID_CREATED = "com.magisto.id.created";
  158.     public static final String INTENT_DOWNLOADING_MOVIE = "com.magisto.downloading.movie";
  159.     public static final String INTENT_GET_CLIENT_RESOURCES = "com.magisto.get.client.resource";
  160.     public static final String INTENT_FORCE_LOGIN_FAILED = "com.magisto.force.login.failed";
  161.     public static final String INTENT_THEMES_ACTION = "com.magisto.themes.action";
  162.     public static final String INTENT_SESSION_VIDEOS_SET = "com.magisto.session.videos.set";
  163.     public static final String INTENT_DOWNLOAD_GDRIVE_FILE ="com.magisto.download.gdrive.file";
  164.     public static final String INTENT_UPDATE_FLOW_DATA = "com.magisto.update.flow.data";
  165.     public static final String INTENT_REDEEM_USER_CREDITS_ACTION = "com.magisto.redeem.user.credits.action";
  166.     public static final String INTENT_SET_SESSION_LEN = "com.magisto.set.session.len";
  167.     public static final String INTENT_GET_USER_CREDITS_ACTION = "com.magisto.get.user.credits.action";
  168.     public static final String INTENT_GET_DOUBLE_INCENTIVE_MESSAGE = "com.magisto.get.double.incentive.message";
  169.     public static final String INTENT_GET_USER_INVITE_URL = "com.magisto.get.user.invite.url";
  170.     public static final String INTENT_START_SESSION_ON_SERVER = "com.magisto.intent.start.session.on.server";
  171.     public static final String INTENT_SET_SESSION_THEME_AND_TRACK = "com.magisto.intent.set.session.theme.and.track";
  172.     public static final String INTENT_PING = "com.magisto.intent.ping";
  173.     public static final String INTENT_GET_LOGOUT_STATE = "com.magisto.get.logout.state";
  174.     public static final String INTENT_ATTACH_GOOGLE = "com.magisto.attach.google";
  175.     public static final String INTENT_RESET_PASSWORD = "com.magisto.reset.password";
  176.     public static final String INTENT_MOVIE_ACTION_ = "com.magisto.movie.action.";
  177.     public static final String INTENT_ADD_REMOVE_MOVIES_FROM_ALBUM = "com.magisto.add.remove.movies.from.album";
  178.     public static final String INTENT_SHARE_VIA_MAGISTO = "com.magisto.share";
  179.     public static final String INTENT_THEME = "com.magisto.theme";
  180.     public static final String INTENT_CREATE_ALBUM = "com.magisto.create.album";
  181.     public static final String INTENT_EDIT_ALBUM = "com.magisto.edit.album";
  182.     public static final String INTENT_GET_ALBUM_TEMPLATES = "com.magisto.get.album.templates";
  183.     public static final String INTENT_GET_OPEN_UDID = "com.magisto.get.open.udid";
  184.     public static final String INTENT_PAUSE_AUTO_SESSION = "com.magisto.pause.auto.session";
  185.     public static final String INTENT_GET_AUTOMATIC_USER_SETTINGS = "com.magisto.get.automatic.user.settings";
  186.     public static final String INTENT_GET_IS_ENABLE_AUTOMATION_DIALOG_SHOWN = "com.magisto.get.automation.value";
  187.     public static final String INTENT_CAN_EDIT_SESSION = "com.magisto.can.edit.session";
  188.     public static final String INTENT_EDIT_SESSION_INFO = "com.magisto.set.edit.session.info";
  189.     public static final String INTENT_CONNECT_CODE = "com.magisto.connect.code";
  190.     public static final String INTENT_GET_MARKETING_PUSH_MESSAGE_ = "com.magisto.get.marketing.push.message.";
  191.     public static final String INTENT_GET_MARKETING_IN_APP_MESSAGE = "com.magisto.get.marketing.inapp.message";
  192.     public static final String INTENT_CHECK_ACTIVE_USER = "com.magisto.check.active.user";
  193.     public static final String INTENT_ALBUM_NOFICICATIONS = "intent.album.notifications";
  194.    
  195.     // External intents
  196.     public static final String EXTERNAL_INTENT_SEND_SESSION_LIMITS = "com.magisto.session.SESSION_LIMITS";
  197.     public static final String EXTERNAL_INTENT_START_MEDIA_PROVIDER = "com.magisto.session.START_MEDIA_PROVIDER";
  198.    
  199.     // External keys
  200.     public static final String EXTERNAL_KEY_ERROR = "error";
  201.     public static final String EXTERNAL_KEY_MAX_CLIPS = "max_clips";
  202.     public static final String EXTERNAL_KEY_MAX_DURATION = "max_duration";
  203.     public static final String EXTERNAL_KEY_MAX_IMAGES = "max_images";
  204.     public static final String EXTERNAL_KEY_MIN_TOTAL_DURATION = "min_total_duration";
  205.     public static final String EXTERNAL_KEY_MIN_VIDEO_DURATION = "min_video_duration";
  206.    
  207.     // External key values
  208.     public static final int NO_ERRORS = 0;
  209.     public static final int USER_NOT_LOGGED_IN = -1;
  210.  
  211.     // Bundle keys
  212.     public static final String RESPONSE_GSON_OBJECT = "key_response_gson_object";
  213.     public static final String RESPONSE_GSON_OBJECT_AS_JSON_STRING = "key_response_gson_object_as_json_string";
  214.     public static final String RESPONSE_HTTP_STATUS_CODE = "response_http_status_code";
  215.     public static final String RESPONSE_STATUS = "key_response_status";
  216.  
  217.     public static final String KEY_INTENT_ACTION = "key_intent_action";
  218.     public static final String KEY_AUTH_METHOD = "key_auth_method";
  219.     public static final String KEY_USERNAME = "key_username";
  220.     public static final String KEY_PASSWORD = "key_password";
  221.     public static final String KEY_FB_ACCESS_TOKEN = "key_fb_access_token";
  222.     public static final String KEY_FB_ACCESS_TOKEN_EXPIRES = "key_fb_access_expires";
  223.     public static final String KEY_FB_UID = "key_fb_uid";
  224.     public static final String KEY_OK_ACCESS_TOKEN = "key_ok_access_token";
  225.     public static final String KEY_OK_REFRESH_TOKEN = "key_ok_refresh_token";
  226.     public static final String KEY_PAGE_SIZE = "key_page_size";
  227.     public static final String KEY_NEXT = "key_next";
  228.     public static final String KEY_VIDEO_STATUS_ARRAY = "key_video_status_array";
  229.     public static final String KEY_PATH_VIDEO = "key_video_path";
  230.     public static final String KEY_VIDEO_HASH_ARRAY = "key_video_hash_array";
  231.     public static final String TO_REMOVE = "to_remove";
  232.     public static final String TO_ADD = "to_add";
  233.     public static final String KEY_VIDEO_HASH = "key_video_hash";
  234.     public static final String KEY_SESSION_VIDEOS = "key_session_videos";
  235.     public static final String KEY_SELECTED_SESSION_VIDEOS = "key_selected_session_videos";
  236.     public static final String KEY_SESSION_STATE = "key_session_state";
  237.     public static final String KEY_VIDEO_SESSION_ID = "key_videos_session_id";
  238.     public static final String KEY_CANCEL = "key_cancel";
  239.     public static final String KEY_REMOVE_VIDEOS_FROM_SERVER= "remove_videos_from_server";
  240.     public static final String KEY_TRACK_ID = "key_track_id";
  241.     public static final String KEY_TRACK_INFO = "key_track_info";
  242.     public static final String KEY_VIDEO_SESSION_TITLE = "key_video_session_title";
  243.     public static final String KEY_VIDEO_SESSION_MOVIE_CONTROLS = "key_video_session_movie_controls";
  244.     public static final String KEY_VIDEO_SESSION_THEME_ID = "key_video_session_theme_id";
  245.     public static final String KEY_REGISTRATION_TEST_FLAG = "key_registration_test_flag";
  246.     public static final String KEY_ACCOUNT = "key_account";
  247.     public static final String KEY_OLD_PASSWORD = "key_old_password";
  248.     public static final String KEY_PASSWORD_1 = "key_password_1";
  249.     public static final String KEY_PASSWORD_2 = "key_password_2";
  250.     public static final String KEY_FIRST_NAME = "key_first_name";
  251.     public static final String KEY_EMAIL = "key_email";
  252.     public static final String KEY_IS_UPGRADE_GUEST = "key_is_guest";
  253.     public static final String KEY_FACEBOOK_USER_ID = "key_facebook_user_id";
  254.     public static final String KEY_SOCIAL_PROVIDER = "key_social_provider";
  255.     public static final String KEY_SOCIAL_TOKEN = "key_social_token";
  256.     public static final String KEY_SOCIAL_TOKEN_SECRET = "key_social_token_secret";
  257.     public static final String KEY_KEEP_EMAIL = "key_keep_email_fb_attach";
  258.     public static final String KEY_SESSION_COUNT = "key_session_count";
  259.     public static final String KEY_SESSIONS = "key_sessions";
  260.     public static final String KEY_VIEW_SCOPE = "key_view_scope";
  261.     public static final String KEY_ALBUM_HASH = "key_album_hash";
  262.     public static final String KEY_ALBUM_TITLE = "key_album_title";
  263.     public static final String KEY_ALBUM_HASHES = "key_album_hashes";
  264.     public static final String KEY_ALBUM_HASHES_TO_REMOVE = "key_album_hashes_to_remove";
  265.     public static final String KEY_OFFSET = "key_offset";
  266.     public static final String KEY_TRANSCODING_STATUS = "key_transcoding_status";
  267.  
  268.     public static final String KEY_VIDEO_ITEM = "key_video_item";
  269.     public static final String KEY_VIDEO_RATING = "key_video_rating";
  270.     public static final String KEY_FILE_PATH = "key_file_path";
  271.     public static final String KEY_QUIT = "key_quit";
  272.     public static final String KEY_PURCHASE_PRODUCT = "key_purchase_product";
  273.     public static final String KEY_PURCHASE_RECEIPT = "key_purchase_receipt";
  274.     public static final String KEY_PURCHASE_SIGNATURE = "key_purchase_signature";
  275.     public static final String KEY_PURCHASE_PRICE = "key_purchase_price";
  276.     public static final String KEY_PURCHASE_CURRENCY_CODE = "key_purchase_currency_code";
  277.     public static final String KEY_GOOGLE_USERNAME = "key_google_account_username";
  278.     public static final String KEY_GOOGLE_LOGIN_ACTION = "key_google_login_action";
  279.     public static final String KEY_GOOGLE_LOGIN_SCOPE = "key_google_login_scope";
  280.     public static final String KEY_LINK = "key_link";
  281.     public static final String KEY_SHARE_TYPE = "key_share_type";
  282.  
  283.     public static final String KEY_MOVIE_LEN = "key_movie_len";
  284.    
  285.     public static final String KEY_TEMP_PHOTO_FILES_DIR = "key_temp_photo_file_dir";
  286.  
  287.     public static final String KEY_IGNORE_CACHE = "key_ignore_cache";
  288.     public static final String KEY_THEME = "key_theme";
  289.     public static final String KEY_THEME_ID = "key_theme_id";
  290.     public static final String KEY_SELECTED_PHOTO_JSON = "key_selected_photo_json";
  291.     public static final String KEY_GDRIVE_DOWNLOAD_URL = "key_gdrive_downlaod_url";
  292.     public static final String KEY_FLOW_TYPE = "key_flow_type";
  293.     public static final String KEY_FLOW_DATA = "key_flow_data";
  294.     public static final String KEY_REDEEM_CREDIT_DATA = "key_redeem_credit_data";
  295.     public static final String KEY_VIDEO_DURATION = "key_video_duration";
  296.     public static final String KEY_PHOTOS_COUNT = "key_photo_count";
  297.     public static final String KEY_DOUBLE_INCENTIVE_MESSAGE_TYPE = "key_double_inc_type";
  298.     public static final String KEY_LOGOUT_STATE = "key_logout_state";
  299.     public static final String KEY_SESSION_CREATION_STATE = "key_session_creation_state";
  300.     public static final String KEY_GOOGLE_LOGIN_RESULT = "key_google_login_result";
  301.     public static final String KEY_FORCE_ATTACH = "key_force_attach";
  302.     public static final String KEY_REASON = "key_reason";
  303.     public static final String KEY_TITLE = "key_title";
  304.     public static final String KEY_COVER = "key_cover";
  305.     public static final String KEY_OPEN_UDID = "key_open_udid";
  306.     public static final String KEY_MOVIE_ID = "key_movie_id";
  307.     public static final String KEY_SET_LEN_CONFIG = "KEY_SET_LEN_CONFIG";
  308.     public static final String KEY_RESULT = "KEY_RESULT";
  309.  
  310.     // TODO move keys to Notifications
  311.     public static final String KEY_C2DM_REGISTRATION_ID = "registration_id";
  312.     public static final String KEY_C2DM_ERROR = "error";
  313.     public static final String KEY_C2DM_APP = "app";
  314.     public static final String KEY_C2DM_SENDER = "sender";
  315.     public static final String KEY_C2DM_STATUS = "status";
  316.     public static final String KEY_C2DM_MESSAGE = "msg";
  317.     public static final String KEY_C2DM_VSID = "vsid";
  318.     public static final String KEY_GROUP_MESSAGE = "group_title";
  319.     public static final String KEY_VIDEO_MESSAGE = "video_title";
  320.     public static final String KEY_C2DM_HASH = "hash";
  321.     public static final String KEY_C2DM_URL = "magistoURL";
  322.     public static final String KEY_C2DM_N = "n";
  323.     public static final String KEY_C2DM_P = "p";
  324.     public static final String KEY_C2DM_F = "f";        // "following": is current user following the user
  325.     public static final String KEY_C2DM_AH = "ah";      // album_hash of timeline
  326.     public static final String KEY_C2DM_UH = "uh";      // user_hash
  327.     public static final String KEY_SMALL_THUMB = "small_thumb";
  328.     public static final String KEY_SMALL_THUMB2 = "android_push:small_thumb";
  329.     public static final String KEY_BIG_THUMB = "big_thumb";
  330.     public static final String KEY_THUMB = "thumb";
  331.     public static final String KEY_BIG_THUMB2 = "android_push:big_thumb";
  332.  
  333.     public static final String KEY_THUMBNAIL_W = "key_w";
  334.     public static final String KEY_THUMBNAIL_H = "key_h";
  335.     public static final String KEY_THUMBNAIL_ID = "key_thumb_id";
  336.     public static final String KEY_SETTINGS_DIFF = "key_settings_diff";
  337.     public static final String KEY_MESSAGE = "key_message";
  338.     public static final String KEY_DELETE_ACCOUNT = "key_delete_account";
  339.     public static final String KEY_LONG_DURATION = "key_long_duration";
  340.     public static final String KEY_SERVER_PAYLOAD = "key_server_payload";
  341.     public static final String KEY_SERVICE_TYPE = "key_service_type";
  342.     public static final String KEY_UPDATE_SETTINGS = "KEY_UPDATE_SETTINGS";
  343.     public static final String KEY_AUTOMATIC = "key_automatic";
  344.     public static final String KEY_AUTOMATION_HISTORY_EVENT_ID = "key_automation_history_event_id";
  345.     public static final String KEY_SERVER_SESSION_ID = "key_server_session_id";
  346.     public static final String KEY_SESSION_EDIT_INFO = "key_session_edit_info";
  347.     public static final String KEY_SESSION_EDIT_THUMB_URL = "key_session_edit_thumb_url";
  348.     public static final String KEY_DEVICE_CODE = "key_device_code";
  349.     public static final String KEY_MARKETING_NOTIFICATION_ID = "key_marketing_notification_id";
  350.     public static final String KEY_MARKETING_NOTIFICATION = "key_marketing_notification";
  351.     public static final String KEY_STAT_EVENT = "key_stat_event";
  352.     public static final String KEY_FORCE_SHOW = "key_force_show";
  353.     public static final String KEY_HAS_ACTIVE_USER = "key_has_active_user";
  354.     public static final String KEY_ENABLE_ALBUM_NOTIFICATIONS = "key_enable_album_notifications";
  355.     public static final String KEY_LOGOUT = "key_logout_user";
  356.  
  357.     public static final String KEY_NOTIFICATION_OPTIONS = "KEY_NOTIFICATION_OPTIONS";
  358.     public static final String KEY_QUALITY = "KEY_QUALITY";
  359.  
  360.     public static final String KEY_EMAIL_TO = "KEY_EMAIL_TO";
  361.     public static final String KEY_BODY = "KEY_BODY";
  362.     public static final String KEY_SUBJECT = "key_subject";
  363.     public static final String KEY_TRACKING_PARAMETER = "key_tracking_parameter";
  364.     public static final String KEY_TRACKING_PARAMETER_LIST = "KEY_TRACKING_PARAMETER_LIST";
  365.     public static final String KEY_NOTIFICATION_ID = "KEY_NOTIFICATION_ID";
  366.     public static final String KEY_UPLOAD_DIRECTLY = "key_upload_directly";
  367.     public static final String KEY_TEXT = "key_text";
  368.     public static final String KEY_STORYBOARD_SESSION_ITEMS = "KEY_STORYBOARD_SESSION_ITEMS";
  369.     public static final String KEY_STORYBOARD_UPLOADED_FILES = "KEY_STORYBOARD_UPLOADED_FILES";
  370.     public static final String KEY_STORYBOARD_TRIMMED_FILES = "KEY_STORYBOARD_TRIMMED_FILES";
  371.     public static final String KEY_ORIGINAL_TIMELINE_ITEMS = "KEY_ORIGINAL_TIMELINE_ITEMS";
  372.     public static final String KEY_VIDEO_TITLE = "KEY_VIDEO_TITLE";
  373.     public static final String KEY_USE_LOGO = "KEY_USE_LOGO";
  374.     public static final String KEY_BUSINESS_CARD = "KEY_BUSINESS_CARD";
  375.  
  376.     // File system
  377.     public static final String MAGISTO_DIR = "Magisto" + File.separator;
  378.     public static final String VIDEO_DIR = MAGISTO_DIR + "video";
  379.     public static final String VIDEO_DOWNLOAD_DIR = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + Defines.MAGISTO_DIR + "Movies" + File.separator;
  380.  
  381.     public static final String FILE_ACCOUNT = "account_cache";
  382.     public static final String FILE_ALBUM_TEMPLATES = "album_templates_cache";
  383.     public static final String FILE_CLIENT_RESOURCES = "client_resources";
  384.  
  385.     // Request codes
  386.     public static final int REQUEST_OPEN_MUSIC = 1;
  387.     public static final int REQUEST_NEW_EMAIL = REQUEST_OPEN_MUSIC + 1;
  388.     public static final int REQUEST_CHANGE_PERSONAL_INFO = REQUEST_NEW_EMAIL + 1;
  389.  
  390.     /**
  391.      * The request code used to authorize user. It may be used on logging in,
  392.      * creating new user, creating or upgrading guest account
  393.      */
  394.     public static final int REQUEST_AUTH_USER = REQUEST_CHANGE_PERSONAL_INFO + 1;
  395.     public static final int REQUEST_CHANGE_PASSWORD = REQUEST_AUTH_USER + 1;
  396.     public static final int REQUEST_TAG_FRIEND = REQUEST_CHANGE_PASSWORD + 1;
  397.     public static final int REQUEST_SETTINGS = REQUEST_TAG_FRIEND + 1;
  398.     public static final int REQUEST_AUTH_FACEBOOK = REQUEST_SETTINGS + 1;
  399.     public static final int REQUEST_LIKE_FACEBOOK = REQUEST_AUTH_FACEBOOK + 1;
  400.     public static final int REQUEST_GET_GOOGLE_ACCOUNT = REQUEST_LIKE_FACEBOOK + 1;
  401.     public static final int REQUEST_ACCEPT_TOS = REQUEST_GET_GOOGLE_ACCOUNT + 1;
  402.     public static final int REQUEST_SHOW_SUBSCRIPTION = REQUEST_ACCEPT_TOS + 1;
  403.     public static final int REQUEST_UPGRADE_AND_SHARE = REQUEST_SHOW_SUBSCRIPTION + 1;
  404.     public static final int REQUEST_SHARE = REQUEST_UPGRADE_AND_SHARE + 1;
  405.     public static final int REQUEST_MAGISTO_GUEST_UPGRADE = REQUEST_SHARE + 1;
  406.     public static final int REQUEST_MAGISTO_ACCOUNT_CREATE = REQUEST_MAGISTO_GUEST_UPGRADE + 1;
  407.     public static final int REQUEST_THEME_DETAILS = REQUEST_MAGISTO_ACCOUNT_CREATE + 1;
  408.     public static final int REQUEST_PLAY_MOVIE = REQUEST_THEME_DETAILS + 1;
  409.     public static final int REQUEST_WELCOME = REQUEST_PLAY_MOVIE + 1;
  410.     public static final int REQUEST_FACEBOOK_FRIENDS_LIST = REQUEST_WELCOME + 1;
  411.     public static final int REQUEST_GOOGLE_PLUS_SHARE = 1 + REQUEST_FACEBOOK_FRIENDS_LIST;
  412.     public static final int REQUEST_GOOGLE_AUTHORIZATION = 1 + REQUEST_GOOGLE_PLUS_SHARE;
  413.     public static final int REQUEST_CODE_RESOLVE_ERR = 1 + REQUEST_GOOGLE_AUTHORIZATION;
  414.     public static final int REQUEST_GOOGLE_LOGIN = 1 + REQUEST_CODE_RESOLVE_ERR;
  415.     public static final int PLUS_ONE_REQUEST_CODE = REQUEST_GOOGLE_LOGIN + 1;
  416.     public static final int FOLLOW_GOOGLE_PLUS_REQUEST_CODE = PLUS_ONE_REQUEST_CODE + 1;
  417.     public static final int REQUEST_CHECK_YOUTUBE_PERMISSIONS = PLUS_ONE_REQUEST_CODE + 1;
  418.     public static final int REQUEST_CHECK_GDRIVE_PERMISSIONS = REQUEST_CHECK_YOUTUBE_PERMISSIONS + 1;
  419.  
  420.     private static final String requestPrefix = "REQUEST_";
  421.     private static final String serviceActionsPrefix = "INTENT_";
  422.  
  423.     private static boolean mFieldsValidated;
  424.  
  425.     private static void validateUniqueInts(String fieldPrefix) {
  426.         final Field fields[] = Defines.class.getFields();
  427.         final SparseArray<String> ints = new SparseArray<>(fields.length);
  428.  
  429.         for (Field field : fields) {
  430.             String name = field.getName();
  431.             if (name.startsWith(fieldPrefix)) {
  432.                 try {
  433.                     int value = field.getInt(null);
  434.  
  435.                     if (null != ints.get(value)) {
  436.                         String error = "Duplicate integer fields found in '"
  437.                                 + Defines.class.getSimpleName() + "': "
  438.                                 + ints.get(value) + " and " + name;
  439.                         throw new AssertionFailedError(error);
  440.                     }
  441.                     ints.put(value, name);
  442.  
  443.                 } catch (IllegalArgumentException | IllegalAccessException e) {
  444.                     ErrorHelper.error(TAG, e);
  445.                 }
  446.  
  447.             }
  448.         }
  449.     }
  450.  
  451.     private static void validateUniqueStrings(String fieldPrefix) {
  452.         final Field fields[] = Defines.class.getFields();
  453.         final HashMap<String, String> strs = new HashMap<>(fields.length);
  454.  
  455.         for (Field field : fields) {
  456.             String name = field.getName();
  457.             if (name.startsWith(fieldPrefix)) {
  458.                 try {
  459.                     String value = (String) field.get(null);
  460.  
  461.                     if (!strs.containsKey(value)) {
  462.                         strs.put(value, name);
  463.                     } else {
  464.                         String error = "Duplicate string fields found in '"
  465.                                 + Defines.class.getSimpleName() + "': " + strs.get(value) + " and "
  466.                                 + name;
  467.                         throw new AssertionFailedError(error);
  468.                     }
  469.                    
  470.                 } catch (IllegalArgumentException | IllegalAccessException e) {
  471.                     ErrorHelper.error(TAG, e);
  472.                 }
  473.  
  474.             }
  475.         }
  476.     }
  477.  
  478.     public static void validateFields() {
  479.         if(!mFieldsValidated){
  480.             mFieldsValidated = true;
  481.             validateUniqueInts(requestPrefix);
  482.             validateUniqueStrings(serviceActionsPrefix);
  483.         }
  484.     }
  485.  
  486.     public static final String ALBUM_HEADERS_CACHE_DIR = MAGISTO_DIR + "headers_temp_folder";
  487. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement