ImageViewBaseFragment.java 3.6 KB

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