package net.alhazmy13.mediapickerexample;
import android.app.Fragment;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import net.alhazmy13.mediapicker.Image.ImagePicker;
import net.alhazmy13.mediapicker.rxjava.image.ImagePickerHelper;
import java.util.List;
import rx.Subscriber;
/**
* Created by alhazmy13 on 3/13/17.
*/
public class ImageFragment extends Fragment {
private ImageView imageView;
private TextView path;
private static final String TAG = "MainActivity";
private List<String> mPath;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.image_layout, container, false);
// Find our View instances
imageView = (ImageView) view.findViewById(R.id.iv_image);
path = (TextView) view.findViewById(R.id.tv_path);
view.findViewById(R.id.bt_pick).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pickImage();
}
});
return view;
}
private void pickImage() {
new ImagePickerHelper(
new ImagePicker.Builder(getActivity())
.mode(ImagePicker.Mode.CAMERA_AND_GALLERY)
.allowMultipleImages(true)
.compressLevel(ImagePicker.ComperesLevel.MEDIUM)
.directory(ImagePicker.Directory.DEFAULT)
.extension(ImagePicker.Extension.PNG)
.scale(600, 600)
.allowMultipleImages(true)
.enableDebuggingMode(true))
.getObservable()
.subscribe(new Subscriber<List<String>>() {
@Override
public void onCompleted() {
Log.d(TAG, "onCompleted() called with: " + "");
}
@Override
public void onError(Throwable e) {
Log.d(TAG, "onError() called with: " + "e = [" + e + "]");
e.printStackTrace();
}
@Override
public void onNext(List<String> imagePath) {
Log.d(TAG, "onNext() called with: " + "imagePath = [" + imagePath + "]");
mPath = imagePath;
loadImage();
}
});
}
//
// @Override
// protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// super.onActivityResult(requestCode, resultCode, data);
//
// if (requestCode == VideoPicker.VIDEO_PICKER_REQUEST_CODE && resultCode == RESULT_OK) {
// videoPath = data.getStringExtra(VideoPicker.EXTRA_VIDEO_PATH);
// loadImage();
// }
// else if(requestCode == ImagePicker.IMAGE_PICKER_REQUEST_CODE && resultCode == RESULT_OK) {
// mPath = (List<String>) data.getSerializableExtra(ImagePicker.EXTRA_IMAGE_PATH);
// loadImage();
// }
// }
private void loadImage() {
Log.d(TAG, "loadImage: " + mPath.size());
path.setText(mPath.get(0));
imageView.setImageBitmap(BitmapFactory.decodeFile(mPath.get(0)));
}
}