SeatViewUtls.java 2.41 KB
package com.cnlive.goldenline.util;

import android.content.res.Resources;
import android.graphics.Bitmap;
import android.view.View;

import com.cnlive.goldenline.R;
import com.cnlive.goldenline.ui.widget.selectionview.data.SeatUserBean;
import com.cnlive.goldenline.ui.widget.selectionview.view.Seat;
import com.cnlive.goldenline.ui.widget.selectionview.view.SeatImagePoolImpl;
import com.cnlive.goldenline.ui.widget.selectionview.view.SeatSelectionView;
import com.cnlive.goldenline.ui.widget.selectionview.view.SeatState;
import com.cnlive.goldenline.ui.widget.selectionview.view.SeatTable;
import com.cnlive.goldenline.ui.widget.selectionview.view.SeatType;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;

import sviolet.turquoise.util.common.BitmapUtils;

public class SeatViewUtls {

    public static void loadUserImage(final Resources resources, final Seat seat, final SeatUserBean item, final SeatSelectionView seatSelectionView, final SeatImagePoolImpl imagePool) {
        ImageLoader.getInstance().loadImage(seat.getSeatUser().getHeadPortrait(),
                new SimpleImageLoadingListener() {
                    @Override
                    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
                        imagePool.setImage(SeatType.SINGLE, SeatState.UNAVAILABLE + "_" + item.getUserId(), loadedImage);
                        seatSelectionView.invalidate();
                    }

                    @Override
                    public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
                        imagePool.setImage(SeatType.SINGLE, SeatState.UNAVAILABLE + "_" + item.getUserId(),
                                BitmapUtils.decodeFromResource(resources, R.mipmap.icon_default_portrait_87));
                        seatSelectionView.invalidate();
                    }
                });
    }


    public static void changeNote(boolean show, SeatSelectionView seatSelectionView, SeatTable seatTable, SeatUserBean item) {
        if (item == null) return;
        int row = item.getRowId() - 1;
        int clone = item.getCloneId() - 1;
        clone = clone >= 3 ? clone + 1 : clone;
        seatTable.getSeat(row, clone).getSeatUser().setHasNote(show);

        seatSelectionView.invalidate();
    }

}