package com.alorma.github.ui.fragment.content.source;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.Toast;
import com.alorma.github.Base64;
import com.alorma.github.R;
import com.alorma.github.ui.fragment.content.BaseFileFragment;
import uk.co.senab.photoview.PhotoViewAttacher;
public abstract class ImageBaseFileFragment extends BaseFileFragment {
PhotoViewAttacher mAttacher;
private ImageView imageView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.image_file_fragment, null, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
imageView = (ImageView) view.findViewById(R.id.imageView);
mAttacher = new PhotoViewAttacher(imageView);
}
@Override
protected void onContentLoaded(String s) {
if (getActivity() != null && isAdded()) {
try {
byte[] imageAsBytes = Base64.decode(s);
Bitmap bitmap = BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length);
imageView.setVisibility(View.VISIBLE);
imageView.setImageBitmap(bitmap);
mAttacher.update();
} catch (Exception e) {
Toast.makeText(getActivity(), R.string.error_loading_image, Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}
}