/**
* Copyright 2016 bingoogolapple
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.bingoogolapple.photopicker.adapter;
import android.support.v7.widget.RecyclerView;
import java.util.ArrayList;
import cn.bingoogolapple.androidcommon.adapter.BGARecyclerViewAdapter;
import cn.bingoogolapple.androidcommon.adapter.BGAViewHolderHelper;
import cn.bingoogolapple.photopicker.R;
import cn.bingoogolapple.photopicker.imageloader.BGAImage;
import cn.bingoogolapple.photopicker.model.BGAImageFolderModel;
import cn.bingoogolapple.photopicker.util.BGAPhotoPickerUtil;
/**
* 作者:王浩 邮件:bingoogolapple@gmail.com
* 创建时间:16/6/28 上午11:09
* 描述:
*/
public class BGAPhotoPickerAdapter extends BGARecyclerViewAdapter<String> {
private ArrayList<String> mSelectedImages = new ArrayList<>();
private int mImageSize;
private boolean mTakePhotoEnabled;
public BGAPhotoPickerAdapter(RecyclerView recyclerView) {
super(recyclerView, R.layout.bga_pp_item_photo_picker);
mImageSize = BGAPhotoPickerUtil.getScreenWidth() / 6;
}
@Override
public int getItemViewType(int position) {
if (mTakePhotoEnabled && position == 0) {
return R.layout.bga_pp_item_photo_camera;
} else {
return R.layout.bga_pp_item_photo_picker;
}
}
@Override
public void setItemChildListener(BGAViewHolderHelper helper, int viewType) {
if (viewType == R.layout.bga_pp_item_photo_camera) {
helper.setItemChildClickListener(R.id.iv_item_photo_camera_camera);
} else {
helper.setItemChildClickListener(R.id.iv_item_photo_picker_flag);
helper.setItemChildClickListener(R.id.iv_item_photo_picker_photo);
}
}
@Override
protected void fillData(BGAViewHolderHelper helper, int position, String model) {
if (getItemViewType(position) == R.layout.bga_pp_item_photo_picker) {
BGAImage.display(helper.getImageView(R.id.iv_item_photo_picker_photo), R.mipmap.bga_pp_ic_holder_dark, model, mImageSize);
if (mSelectedImages.contains(model)) {
helper.setImageResource(R.id.iv_item_photo_picker_flag, R.mipmap.bga_pp_ic_cb_checked);
helper.getImageView(R.id.iv_item_photo_picker_photo).setColorFilter(helper.getConvertView().getResources().getColor(R.color.bga_pp_photo_selected_mask));
} else {
helper.setImageResource(R.id.iv_item_photo_picker_flag, R.mipmap.bga_pp_ic_cb_normal);
helper.getImageView(R.id.iv_item_photo_picker_photo).setColorFilter(null);
}
}
}
public void setSelectedImages(ArrayList<String> selectedImages) {
if (selectedImages != null) {
mSelectedImages = selectedImages;
}
notifyDataSetChanged();
}
public ArrayList<String> getSelectedImages() {
return mSelectedImages;
}
public int getSelectedCount() {
return mSelectedImages.size();
}
public void setImageFolderModel(BGAImageFolderModel imageFolderModel) {
mTakePhotoEnabled = imageFolderModel.isTakePhotoEnabled();
setData(imageFolderModel.getImages());
}
}