/*
* Copyright (c) 2015 [1076559197@qq.com | tchen0707@gmail.com]
*
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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 com.github.obsessive.simplifyreader.ui.activity.picker;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ImageView;
import com.github.obsessive.library.adapter.ListViewDataAdapter;
import com.github.obsessive.library.adapter.ViewHolderBase;
import com.github.obsessive.library.adapter.ViewHolderCreator;
import com.github.obsessive.library.eventbus.EventCenter;
import com.github.obsessive.library.netstatus.NetUtils;
import com.github.obsessive.library.picker.ImageItem;
import com.github.obsessive.library.utils.CommonUtils;
import com.github.obsessive.simplifyreader.R;
import com.github.obsessive.simplifyreader.ui.activity.base.BaseActivity;
import com.github.obsessive.simplifyreader.utils.ImageLoaderHelper;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
import butterknife.ButterKnife;
import butterknife.InjectView;
/**
* Author: Tau.Chen
* Email: 1076559197@qq.com | tauchen1990@gmail.com
* Date: 15/8/10 15:45
* PkgName: com.github.obsessive.simplifyreader.ui.activity.picker
* Description:
*/
public class CommonImagePickerDetailActivity extends BaseActivity {
public static final String KEY_BUNDLE_RESULT_IMAGE_PATH = "KEY_BUNDLE_RESULT_IMAGE_PATH";
@InjectView(R.id.common_image_picker_detail_grid_view)
GridView commonImagePickerDetailGridView;
private ListViewDataAdapter<ImageItem> mGridViewAdapter = null;
private List<ImageItem> mGridListData = null;
@Override
protected boolean isApplyKitKatTranslucency() {
return true;
}
@Override
protected void getBundleExtras(Bundle extras) {
mGridListData = extras.getParcelableArrayList(CommonImagePickerListActivity
.KEY_BUNDLE_ALBUM_PATH);
String title = extras.getString(CommonImagePickerListActivity.KEY_BUNDLE_ALBUM_NAME);
if (!CommonUtils.isEmpty(title)) {
setTitle(title);
}
}
@Override
protected int getContentViewLayoutID() {
return R.layout.activity_common_image_picker_detail;
}
@Override
protected void onEventComming(EventCenter eventCenter) {
}
@Override
protected View getLoadingTargetView() {
return null;
}
@Override
protected void initViewsAndEvents() {
mGridViewAdapter = new ListViewDataAdapter<>(new ViewHolderCreator<ImageItem>() {
@Override
public ViewHolderBase<ImageItem> createViewHolder(int position) {
return new ViewHolderBase<ImageItem>() {
ImageView mItemImage;
@Override
public View createView(LayoutInflater layoutInflater) {
View convertView = layoutInflater.inflate(R.layout.grid_item_common_image_picker, null);
mItemImage = ButterKnife.findById(convertView, R.id.grid_item_common_image_picker_image);
return convertView;
}
@Override
public void showData(int position, ImageItem itemData) {
if (null != itemData) {
String imagePath = itemData.getImagePath();
if (!CommonUtils.isEmpty(imagePath)) {
ImageLoader.getInstance().displayImage("file://" + imagePath,
mItemImage, ImageLoaderHelper.getInstance(mContext).getDisplayOptions());
}
}
}
};
}
});
mGridViewAdapter.getDataList().addAll(mGridListData);
commonImagePickerDetailGridView.setAdapter(mGridViewAdapter);
commonImagePickerDetailGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (null != mGridViewAdapter && null != mGridViewAdapter.getDataList() &&
!mGridViewAdapter.getDataList().isEmpty() &&
position < mGridViewAdapter.getDataList().size()) {
Intent intent = new Intent();
intent.putExtra(KEY_BUNDLE_RESULT_IMAGE_PATH,
mGridViewAdapter.getDataList().get(position).getImagePath());
setResult(RESULT_OK, intent);
finish();
}
}
});
}
@Override
protected void onNetworkConnected(NetUtils.NetType type) {
}
@Override
protected void onNetworkDisConnected() {
}
@Override
protected boolean isApplyStatusBarTranslucency() {
return true;
}
@Override
protected boolean isBindEventBusHere() {
return false;
}
@Override
protected boolean toggleOverridePendingTransition() {
return true;
}
@Override
protected TransitionMode getOverridePendingTransitionMode() {
return TransitionMode.BOTTOM;
}
}