From c1c4c9032a95c171bd66e4a10387705b787cc453 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 3 Dec 2012 13:55:53 +0300 Subject: update thumbnail code and disable it for the time being --- .../library/imagezoom/ImageViewTouchBase.java | 17 ++---- src/org/fox/ttcomics/ComicFragment.java | 69 +++++++++++----------- 2 files changed, 40 insertions(+), 46 deletions(-) (limited to 'src') diff --git a/src/it/sephiroth/android/library/imagezoom/ImageViewTouchBase.java b/src/it/sephiroth/android/library/imagezoom/ImageViewTouchBase.java index d497839..422b08e 100644 --- a/src/it/sephiroth/android/library/imagezoom/ImageViewTouchBase.java +++ b/src/it/sephiroth/android/library/imagezoom/ImageViewTouchBase.java @@ -101,8 +101,7 @@ public class ImageViewTouchBase extends ImageView implements IDisposable { getProperBaseMatrix( getDrawable(), mBaseMatrix ); setImageMatrix( getImageViewMatrix() ); - if (mFitToWidth && getScale() - 1f <= 0.01) - zoomToWidth(); + if (mFitToWidth) zoomToWidth(); } } @@ -201,8 +200,7 @@ public class ImageViewTouchBase extends ImageView implements IDisposable { getProperBaseMatrix( drawable, mBaseMatrix ); super.setImageDrawable( drawable ); - if (mFitToWidth && getScale() - 1f <= 0.01) - zoomToWidth(); + if (mFitToWidth) zoomToWidth(); } else { mBaseMatrix.reset(); @@ -309,7 +307,7 @@ public class ImageViewTouchBase extends ImageView implements IDisposable { float heightScale = Math.min( viewHeight / h, MAX_ZOOM ); float scale = Math.min( widthScale, heightScale ); matrix.postScale( scale, scale ); - matrix.postTranslate( ( viewWidth - w * scale ) / MAX_ZOOM, ( viewHeight - h * scale ) / MAX_ZOOM ); + matrix.postTranslate( ( viewWidth - w * scale ) / 2.0f, ( viewHeight - h * scale ) / 2.0f ); } protected float getValue( Matrix matrix, int whichValue ) { @@ -406,9 +404,7 @@ public class ImageViewTouchBase extends ImageView implements IDisposable { } protected void zoomTo( float scale, float centerX, float centerY ) { - // Log.i(LOG_TAG, "zoomTo"); - - //if ( scale > mMaxZoom ) scale = mMaxZoom; + if ( scale > mMaxZoom ) scale = mMaxZoom; float oldScale = getScale(); float deltaScale = scale / oldScale; postScale( deltaScale, centerX, centerY ); @@ -503,11 +499,10 @@ public class ImageViewTouchBase extends ImageView implements IDisposable { RectF bitmapRect = getBitmapRect(); float w = bitmapRect.right - bitmapRect.left; - - float scale = 1f; if (w < getWidth()) { - scale = (float)getWidth() / w; + float scale = (float)getWidth() / w; + zoomTo(scale, 0f, 0f); } } diff --git a/src/org/fox/ttcomics/ComicFragment.java b/src/org/fox/ttcomics/ComicFragment.java index e4b8bf4..6769626 100644 --- a/src/org/fox/ttcomics/ComicFragment.java +++ b/src/org/fox/ttcomics/ComicFragment.java @@ -28,44 +28,43 @@ public class ComicFragment extends Fragment implements GestureDetector.OnDoubleT private int m_page; private CommonActivity m_activity; private GestureDetector m_detector; - private boolean m_thumbnail = true; + private boolean m_thumbnail = false; public ComicFragment() { super(); } - public void setThumbnail(boolean thumbnail) { + private void setThumbnail(boolean thumbnail) { if (m_thumbnail != thumbnail) { - m_thumbnail = thumbnail; - - AsyncTask loadTask = new AsyncTask() { - @Override - protected Bitmap doInBackground(ComicArchive... params) { - return loadImage(params[0], m_page); - } - - @Override - protected void onPostExecute(Bitmap result) { - CommonActivity activity = (CommonActivity) getActivity(); - - ImageViewTouch image = (ImageViewTouch) getView().findViewById(R.id.comic_image); + + if (isAdded()) { + AsyncTask loadTask = new AsyncTask() { + @Override + protected Bitmap doInBackground(ComicArchive... params) { + return loadImage(params[0], m_page); + } - if (activity != null && isAdded() && image != null) { - if (result != null) { - image.setImageBitmap(result); - } else { - activity.toast(R.string.error_loading_image); - image.setImageResource(R.drawable.badimage); - } - } - } - }; - - ComicPager pager = (ComicPager) getActivity().getSupportFragmentManager().findFragmentByTag(CommonActivity.FRAG_COMICS_PAGER); - - loadTask.execute(pager.getArchive()); - + @Override + protected void onPostExecute(Bitmap result) { + CommonActivity activity = (CommonActivity) getActivity(); + + ImageViewTouch image = (ImageViewTouch) getView().findViewById(R.id.comic_image); + + if (activity != null && isAdded() && image != null) { + if (result != null) { + image.setImageBitmap(result); + } else { + activity.toast(R.string.error_loading_image); + image.setImageResource(R.drawable.badimage); + } + } + } + }; + + ComicPager pager = (ComicPager) getActivity().getSupportFragmentManager().findFragmentByTag(CommonActivity.FRAG_COMICS_PAGER); + loadTask.execute(pager.getArchive()); + } } } @@ -88,7 +87,7 @@ public class ComicFragment extends Fragment implements GestureDetector.OnDoubleT int sampleSizes[]; if (m_thumbnail) { - sampleSizes = new int[] { 256 }; + sampleSizes = new int[] { 512, 256 }; } else { sampleSizes = new int[] { 1024, 768, 512, 256 }; } @@ -135,11 +134,11 @@ public class ComicFragment extends Fragment implements GestureDetector.OnDoubleT if (CommonActivity.isCompatMode() && m_prefs.getBoolean("use_dark_theme", false)) { image.setBackgroundColor(0xff000000); } - + + image.setFitToScreen(true); + if (m_prefs.getBoolean("fit_to_width", false)) { image.setFitToWidth(true); - } else { - image.setFitToScreen(true); } AsyncTask loadTask = new AsyncTask() { @@ -229,7 +228,7 @@ public class ComicFragment extends Fragment implements GestureDetector.OnDoubleT public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); - setThumbnail(!isVisibleToUser); + //setThumbnail(!isVisibleToUser); disabled } @Override -- cgit v1.2.3