summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicFragment.java')
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicFragment.java520
1 files changed, 260 insertions, 260 deletions
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicFragment.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicFragment.java
index 4e07bd4..85e7537 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicFragment.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicFragment.java
@@ -1,260 +1,260 @@
-package org.fox.ttcomics2;
-
-
-import android.app.Activity;
-import android.content.SharedPreferences;
-import android.os.Bundle;
-import android.preference.PreferenceManager;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.ActionBar;
-import android.view.GestureDetector;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewGroup;
-
-import com.nostra13.universalimageloader.core.DisplayImageOptions;
-import com.nostra13.universalimageloader.core.ImageLoader;
-
-import org.fox.ttcomics2.archive.ComicArchive;
-
-import java.io.IOException;
-
-import it.sephiroth.android.library.imagezoom.ImageViewTouch;
-
-public class ComicFragment extends Fragment implements GestureDetector.OnDoubleTapListener {
- private final String TAG = this.getClass().getSimpleName();
-
- private SharedPreferences m_prefs;
- private int m_page;
- private ViewComicActivity m_activity;
- private GestureDetector m_detector;
- private boolean m_thumbnail = false;
- private ComicArchive m_archive;
-
- public ComicFragment() {
- super();
- }
-
- public void initialize(ComicArchive archive, int page) {
- m_archive = archive;
- m_page = page;
- }
-
- public void setPage(int page) {
- m_page = page;
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-
- View view = inflater.inflate(R.layout.fragment_comic, container, false);
-
- final ImageViewTouch image = (ImageViewTouch) view.findViewById(R.id.comic_image);
-
- if (savedInstanceState != null) {
- m_page = savedInstanceState.getInt("page");
- m_thumbnail = savedInstanceState.getBoolean("thumbnail");
- m_archive = savedInstanceState.getParcelable("archive");
- }
-
- image.setFitToScreen(true);
-
- ImageLoader imageLoader = ImageLoader.getInstance();
-
- if (m_prefs.getBoolean("fit_to_width", false)) {
- image.setFitToWidth(true);
- }
-
- try {
- byte[] buf = m_archive.getByteArray(m_page);
-
- DisplayImageOptions options = new DisplayImageOptions.Builder()
- .showImageOnFail(R.drawable.badimage)
- .extraForDownloader(buf)
- .cacheOnDisk(false)
- .cacheInMemory(false)
- .build();
-
- imageLoader.displayImage("stream://" + m_page, image, options);
-
- } catch (IOException e) {
- image.setImageResource(R.drawable.badimage);
- e.printStackTrace();
- }
-
- image.setOnScaleChangedListener(new ImageViewTouch.OnScaleChangedListener() {
- @Override
- public void onScaleChanged(float scale) {
- // TODO: shared scale change?
- }
- });
-
- image.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View view, MotionEvent event) {
- return m_detector.onTouchEvent(event);
- }
- });
-
- //}
-
- /* TextView page = (TextView) view.findViewById(R.id.comic_page);
-
- if (page != null) {
- page.setText(String.valueOf(m_page+1));
- } */
-
- return view;
-
- }
-
- private void onLeftSideTapped() {
- ImageViewTouch image = (ImageViewTouch) getView().findViewById(R.id.comic_image);
-
- if (image != null) {
- boolean atLeftEdge = !image.canScroll(1);
-
- if (atLeftEdge) {
- m_activity.selectPreviousComic();
- }
- }
- }
-
- public boolean canScroll(int direction) {
- ImageViewTouch image = (ImageViewTouch) getView().findViewById(R.id.comic_image);
-
- if (image != null) {
- return image.canScroll(direction);
- } else {
- return false;
- }
- }
-
- private void onRightSideTapped() {
- ImageViewTouch image = (ImageViewTouch) getView().findViewById(R.id.comic_image);
-
- if (image != null) {
- boolean atRightEdge = !image.canScroll(-1);
-
- if (atRightEdge) {
- m_activity.selectNextComic();
- }
- }
- }
-
- @Override
- public void setUserVisibleHint(boolean isVisibleToUser) {
- super.setUserVisibleHint(isVisibleToUser);
-
- //setThumbnail(!isVisibleToUser); disabled
- }
-
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
-
- m_prefs = PreferenceManager.getDefaultSharedPreferences(activity.getApplicationContext());
- m_activity = (ViewComicActivity) activity;
-
- m_detector = new GestureDetector(m_activity, new GestureDetector.OnGestureListener() {
-
- @Override
- public boolean onSingleTapUp(MotionEvent e) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public void onShowPress(MotionEvent e) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
- float distanceY) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public void onLongPress(MotionEvent e) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
- float velocityY) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean onDown(MotionEvent e) {
- // TODO Auto-generated method stub
- return false;
- }
- });
-
- m_detector.setOnDoubleTapListener(this);
- }
-
- @Override
- public void onSaveInstanceState(Bundle out) {
- super.onSaveInstanceState(out);
- out.putInt("page", m_page);
- out.putBoolean("thumbnail", m_thumbnail);
- out.putParcelable("archive", m_archive);
- }
-
- @Override
- public boolean onDoubleTap(MotionEvent e) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean onDoubleTapEvent(MotionEvent e) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean onSingleTapConfirmed(MotionEvent e) {
-
- int width = getView().getWidth();
-
- int x = Math.round(e.getX());
-
- if (x <= width/10) {
- onLeftSideTapped();
- } else if (x >= width-(width/10)) {
- onRightSideTapped();
- } else {
- ActionBar bar = m_activity.getSupportActionBar();
-
- if (bar.isShowing()) {
- bar.hide();
- m_activity.hideSeekBar(true);
-
- if (m_prefs.getBoolean("use_full_screen", false)) {
- m_activity.hideSystemUI(true);
- }
-
- } else {
- m_activity.hideSeekBar(false);
-
- if (m_prefs.getBoolean("use_full_screen", false)) {
- m_activity.hideSystemUI(false);
- }
-
- bar.show();
- }
- }
-
- return false;
- }
-
-}
+package org.fox.ttcomics2;
+
+
+import android.app.Activity;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.support.v4.app.Fragment;
+import android.support.v7.app.ActionBar;
+import android.view.GestureDetector;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.nostra13.universalimageloader.core.DisplayImageOptions;
+import com.nostra13.universalimageloader.core.ImageLoader;
+
+import org.fox.ttcomics2.archive.ComicArchive;
+
+import java.io.IOException;
+
+import it.sephiroth.android.library.imagezoom.ImageViewTouch;
+
+public class ComicFragment extends Fragment implements GestureDetector.OnDoubleTapListener {
+ private final String TAG = this.getClass().getSimpleName();
+
+ private SharedPreferences m_prefs;
+ private int m_page;
+ private ViewComicActivity m_activity;
+ private GestureDetector m_detector;
+ private boolean m_thumbnail = false;
+ private ComicArchive m_archive;
+
+ public ComicFragment() {
+ super();
+ }
+
+ public void initialize(ComicArchive archive, int page) {
+ m_archive = archive;
+ m_page = page;
+ }
+
+ public void setPage(int page) {
+ m_page = page;
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+
+ View view = inflater.inflate(R.layout.fragment_comic, container, false);
+
+ final ImageViewTouch image = (ImageViewTouch) view.findViewById(R.id.comic_image);
+
+ if (savedInstanceState != null) {
+ m_page = savedInstanceState.getInt("page");
+ m_thumbnail = savedInstanceState.getBoolean("thumbnail");
+ m_archive = savedInstanceState.getParcelable("archive");
+ }
+
+ image.setFitToScreen(true);
+
+ ImageLoader imageLoader = ImageLoader.getInstance();
+
+ if (m_prefs.getBoolean("fit_to_width", false)) {
+ image.setFitToWidth(true);
+ }
+
+ try {
+ byte[] buf = m_archive.getByteArray(m_page);
+
+ DisplayImageOptions options = new DisplayImageOptions.Builder()
+ .showImageOnFail(R.drawable.badimage)
+ .extraForDownloader(buf)
+ .cacheOnDisk(false)
+ .cacheInMemory(false)
+ .build();
+
+ imageLoader.displayImage("stream://" + m_page, image, options);
+
+ } catch (IOException e) {
+ image.setImageResource(R.drawable.badimage);
+ e.printStackTrace();
+ }
+
+ image.setOnScaleChangedListener(new ImageViewTouch.OnScaleChangedListener() {
+ @Override
+ public void onScaleChanged(float scale) {
+ // TODO: shared scale change?
+ }
+ });
+
+ image.setOnTouchListener(new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View view, MotionEvent event) {
+ return m_detector.onTouchEvent(event);
+ }
+ });
+
+ //}
+
+ /* TextView page = (TextView) view.findViewById(R.id.comic_page);
+
+ if (page != null) {
+ page.setText(String.valueOf(m_page+1));
+ } */
+
+ return view;
+
+ }
+
+ private void onLeftSideTapped() {
+ ImageViewTouch image = (ImageViewTouch) getView().findViewById(R.id.comic_image);
+
+ if (image != null) {
+ boolean atLeftEdge = !image.canScroll(1);
+
+ if (atLeftEdge) {
+ m_activity.selectPreviousComic();
+ }
+ }
+ }
+
+ public boolean canScroll(int direction) {
+ ImageViewTouch image = (ImageViewTouch) getView().findViewById(R.id.comic_image);
+
+ if (image != null) {
+ return image.canScroll(direction);
+ } else {
+ return false;
+ }
+ }
+
+ private void onRightSideTapped() {
+ ImageViewTouch image = (ImageViewTouch) getView().findViewById(R.id.comic_image);
+
+ if (image != null) {
+ boolean atRightEdge = !image.canScroll(-1);
+
+ if (atRightEdge) {
+ m_activity.selectNextComic();
+ }
+ }
+ }
+
+ @Override
+ public void setUserVisibleHint(boolean isVisibleToUser) {
+ super.setUserVisibleHint(isVisibleToUser);
+
+ //setThumbnail(!isVisibleToUser); disabled
+ }
+
+ @Override
+ public void onAttach(Activity activity) {
+ super.onAttach(activity);
+
+ m_prefs = PreferenceManager.getDefaultSharedPreferences(activity.getApplicationContext());
+ m_activity = (ViewComicActivity) activity;
+
+ m_detector = new GestureDetector(m_activity, new GestureDetector.OnGestureListener() {
+
+ @Override
+ public boolean onSingleTapUp(MotionEvent e) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void onShowPress(MotionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
+ float distanceY) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void onLongPress(MotionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
+ float velocityY) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean onDown(MotionEvent e) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+ });
+
+ m_detector.setOnDoubleTapListener(this);
+ }
+
+ @Override
+ public void onSaveInstanceState(Bundle out) {
+ super.onSaveInstanceState(out);
+ out.putInt("page", m_page);
+ out.putBoolean("thumbnail", m_thumbnail);
+ out.putParcelable("archive", m_archive);
+ }
+
+ @Override
+ public boolean onDoubleTap(MotionEvent e) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean onDoubleTapEvent(MotionEvent e) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean onSingleTapConfirmed(MotionEvent e) {
+
+ int width = getView().getWidth();
+
+ int x = Math.round(e.getX());
+
+ if (x <= width/10) {
+ onLeftSideTapped();
+ } else if (x >= width-(width/10)) {
+ onRightSideTapped();
+ } else {
+ ActionBar bar = m_activity.getSupportActionBar();
+
+ if (bar.isShowing()) {
+ bar.hide();
+ m_activity.hideSeekBar(true);
+
+ if (m_prefs.getBoolean("use_full_screen", false)) {
+ m_activity.hideSystemUI(true);
+ }
+
+ } else {
+ m_activity.hideSeekBar(false);
+
+ if (m_prefs.getBoolean("use_full_screen", false)) {
+ m_activity.hideSystemUI(false);
+ }
+
+ bar.show();
+ }
+ }
+
+ return false;
+ }
+
+}