ImageViewBaseFragment.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package epson.print.imgsel;
  2. import android.content.Context;
  3. import android.graphics.Bitmap;
  4. import android.os.Bundle;
  5. import android.view.LayoutInflater;
  6. import android.view.View;
  7. import android.view.ViewGroup;
  8. import android.widget.ProgressBar;
  9. import epson.common.ScalableImageView;
  10. import epson.print.imgsel.ImageResizer;
  11. public class ImageViewBaseFragment extends Fragment implements ImageResizer.BitmapDrawer {
  12. protected static final String ARG_FILENAME = "file_name";
  13. protected static final String ARG_MESSAGE_TYPE = "message_type";
  14. private static final String paramOffsetX = "paramOffsetX";
  15. private static final String paramOffsetY = "paramOffsetY";
  16. private static final String paramScale = "paramScale";
  17. protected String mFileName;
  18. protected ScalableImageView mImageView;
  19. protected OnFragmentInteractionListener mListener;
  20. protected ImageResizer.ResizeTask mLoadTask;
  21. protected ProgressBar mProgressBar;
  22. public interface OnFragmentInteractionListener {
  23. ImageSelector getSelector();
  24. void onSingleModeItemSelected();
  25. }
  26. public static ImageViewBaseFragment newInstance(String str, boolean z, int i) {
  27. if (z) {
  28. return ImageViewSingleFragment.newInstance(str, i);
  29. }
  30. return ImageViewMultiSelectFragment.newInstance(str);
  31. }
  32. public void onCreate(Bundle bundle) {
  33. super.onCreate(bundle);
  34. if (getArguments() != null) {
  35. this.mFileName = getArguments().getString("file_name");
  36. }
  37. }
  38. public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
  39. if (bundle != null) {
  40. ScalableImageView scalableImageView = this.mImageView;
  41. scalableImageView.setmScaleFactor(bundle.getFloat(paramScale, scalableImageView.getmScaleFactor()));
  42. ScalableImageView scalableImageView2 = this.mImageView;
  43. scalableImageView2.setmOffsetX(bundle.getFloat(paramOffsetX, scalableImageView2.getmOffsetX()));
  44. ScalableImageView scalableImageView3 = this.mImageView;
  45. scalableImageView3.setmOffsetY(bundle.getFloat(paramOffsetY, scalableImageView3.getmOffsetY()));
  46. }
  47. return super.onCreateView(layoutInflater, viewGroup, bundle);
  48. }
  49. public void onSaveInstanceState(Bundle bundle) {
  50. super.onSaveInstanceState(bundle);
  51. bundle.putFloat(paramScale, this.mImageView.getmScaleFactor());
  52. bundle.putFloat(paramOffsetX, this.mImageView.getmOffsetX());
  53. bundle.putFloat(paramOffsetY, this.mImageView.getmOffsetY());
  54. }
  55. public void onActivityCreated(Bundle bundle) {
  56. super.onActivityCreated(bundle);
  57. this.mLoadTask = ((ImageViewPagerActivity) getActivity()).getImageResizer().load(this.mFileName, this);
  58. }
  59. public void onAttach(Context context) {
  60. super.onAttach(context);
  61. try {
  62. this.mListener = (OnFragmentInteractionListener) context;
  63. } catch (ClassCastException unused) {
  64. throw new ClassCastException(context.toString() + " must implement OnFragmentInteractionListener");
  65. }
  66. }
  67. public void onDestroy() {
  68. super.onDestroy();
  69. ImageResizer.ResizeTask resizeTask = this.mLoadTask;
  70. if (resizeTask != null) {
  71. resizeTask.cancel(true);
  72. }
  73. }
  74. public void onDetach() {
  75. super.onDetach();
  76. this.mListener = null;
  77. }
  78. public void setBitmap(Bitmap bitmap) {
  79. ScalableImageView scalableImageView = this.mImageView;
  80. if (scalableImageView != null && bitmap != null) {
  81. scalableImageView.setImageBitmap(bitmap);
  82. this.mImageView.setVisibility(0);
  83. this.mProgressBar.setVisibility(4);
  84. }
  85. }
  86. }