Search in sources :

Example 1 with UserDestination

use of com.voipgrid.vialer.api.models.UserDestination in project vialer-android by VoIPGRID.

the class NavigationDrawerActivity method onResponse.

@Override
public void onResponse(@NonNull Call call, @NonNull Response response) {
    if (!response.isSuccessful()) {
        if (mDrawerLayout != null && mDrawerLayout.isDrawerVisible(GravityCompat.START)) {
            Toast.makeText(this, getString(R.string.set_userdestination_api_fail), Toast.LENGTH_LONG).show();
        }
        if (!mConnectivityHelper.hasNetworkConnection()) {
            // First check if there is a entry already to avoid duplicates.
            if (mSpinner != null && mNoConnectionText != null) {
                mSpinner.setVisibility(View.GONE);
                mNoConnectionText.setVisibility(View.VISIBLE);
            }
        }
    }
    if (response.body() instanceof VoipGridResponse) {
        List<UserDestination> userDestinationObjects = ((VoipGridResponse<UserDestination>) response.body()).getObjects();
        if (userDestinationObjects == null || userDestinationObjects.size() <= 0 || mSpinnerAdapter == null) {
            return;
        }
        UserDestination userDestination = userDestinationObjects.get(0);
        // Create not available destination.
        Destination notAvailableDestination = new FixedDestination();
        notAvailableDestination.setDescription(getString(R.string.not_available));
        // Clear old list and add the not available destination.
        mSpinnerAdapter.clear();
        mSpinnerAdapter.add(notAvailableDestination);
        // Set current destination.
        mSelectedUserDestinationId = userDestination.getSelectedUserDestination().getId();
        Destination activeDestination = userDestination.getActiveDestination();
        List<Destination> destinations = userDestination.getDestinations();
        int activeIndex = 0;
        // Add all possible destinations to array.
        for (int i = 0, size = destinations.size(); i < size; i++) {
            Destination destination = destinations.get(i);
            mSpinnerAdapter.add(destination);
            if (activeDestination != null && destination.getId().equals(activeDestination.getId())) {
                activeIndex = i + 1;
            }
        }
        // Create add destination field.
        Destination addDestination = new FixedDestination();
        String addDestinationText = getString(R.string.fa_plus_circle) + "   " + getString(R.string.add_availability);
        addDestination.setDescription(addDestinationText);
        mSpinnerAdapter.add(addDestination);
        mSpinnerAdapter.notifyDataSetChanged();
        mSpinner.setSelection(activeIndex);
    }
}
Also used : VoipGridResponse(com.voipgrid.vialer.api.models.VoipGridResponse) FixedDestination(com.voipgrid.vialer.api.models.FixedDestination) Destination(com.voipgrid.vialer.api.models.Destination) UserDestination(com.voipgrid.vialer.api.models.UserDestination) FixedDestination(com.voipgrid.vialer.api.models.FixedDestination) UserDestination(com.voipgrid.vialer.api.models.UserDestination)

Aggregations

Destination (com.voipgrid.vialer.api.models.Destination)1 FixedDestination (com.voipgrid.vialer.api.models.FixedDestination)1 UserDestination (com.voipgrid.vialer.api.models.UserDestination)1 VoipGridResponse (com.voipgrid.vialer.api.models.VoipGridResponse)1