static void startAppCenter()

in apps/sasquatch/src/main/java/com/microsoft/appcenter/sasquatch/activities/MainActivity.java [114:173]


    static void startAppCenter(Application application, String startTypeString) {

        /* Set session generation value. */
        boolean isManualSessionTrackerEnabled = sSharedPreferences.getBoolean(application.getString(R.string.appcenter_analytics_session_tracker_state_key), false);
        if (isManualSessionTrackerEnabled) {
            Analytics.enableManualSessionTracker();
        }

        /* Set country code. */
        String countryCode = MainActivity.sSharedPreferences.getString(application.getString(R.string.country_code_key), null);
        if (countryCode != null) {
            AppCenter.setCountryCode(countryCode);
        }

        /* Set the track explicitly only if we set it in settings, to test the initial public by default at first launch. */
        int savedTrack = sSharedPreferences.getInt(application.getString(R.string.appcenter_distribute_track_state_key), 0);
        if (savedTrack != 0) {
            Distribute.setUpdateTrack(savedTrack);
        }
        boolean automaticCheckForUpdate = sSharedPreferences.getBoolean(application.getString(R.string.appcenter_distribute_disable_automatic_check_for_update_key), true);
        if (!automaticCheckForUpdate) {
            Distribute.disableAutomaticCheckForUpdate();
        }
        if (sSharedPreferences.contains(ANALYTICS_TRANSMISSION_INTERVAL_KEY)) {
            int latency = sSharedPreferences.getInt(ANALYTICS_TRANSMISSION_INTERVAL_KEY, DEFAULT_TRANSMISSION_INTERVAL_IN_SECONDS);
            try {
                boolean result = Analytics.setTransmissionInterval(latency);
                if (result) {
                    Toast.makeText(application, String.format(application.getString(R.string.analytics_transmission_interval_change_success), latency), Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(application, application.getString(R.string.analytics_transmission_interval_change_failed), Toast.LENGTH_SHORT).show();
                }
            } catch (Exception ignored) {

                /* Nothing to handle; this is reached if Analytics isn't being used. */
            }
        }
        StartType startType = StartType.valueOf(startTypeString);
        if (startType == StartType.SKIP_START) {
            return;
        }
        String appId = sSharedPreferences.getString(APP_SECRET_KEY, getDefaultAppSecret(application.getResources()));
        String targetId = sSharedPreferences.getString(TARGET_KEY, application.getString(R.string.target_id));
        String appIdArg = "";
        switch (startType) {
            case APP_SECRET:
                appIdArg = appId;
                break;
            case TARGET:
                appIdArg = String.format("target=%s", targetId);
                break;
            case BOTH:
                appIdArg = String.format("appsecret=%s;target=%s", appId, targetId);
                break;
            case NO_SECRET:
                AppCenter.start(application, Analytics.class, Crashes.class, Distribute.class);
                return;
        }
        AppCenter.start(application, appIdArg, Analytics.class, Crashes.class, Distribute.class);
    }