diff options
Diffstat (limited to 'src/org/linaro/connect/ImageViewActivity.java')
-rw-r--r-- | src/org/linaro/connect/ImageViewActivity.java | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/src/org/linaro/connect/ImageViewActivity.java b/src/org/linaro/connect/ImageViewActivity.java index f6b3721..94411eb 100644 --- a/src/org/linaro/connect/ImageViewActivity.java +++ b/src/org/linaro/connect/ImageViewActivity.java @@ -3,6 +3,7 @@ package org.linaro.connect; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import org.linaro.connect.FlingListener.FlingEvent; import android.app.Activity; import android.content.Intent; @@ -25,6 +26,8 @@ public class ImageViewActivity extends Activity { private ImageButton mBack; private ImageButton mForward; + private FlingListener mFlingListener; + @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); @@ -51,6 +54,8 @@ public class ImageViewActivity extends Activity { } }); + setFlingListener(findViewById(R.id.image_view_id)); + Intent i = getIntent(); String json = i.getStringExtra("json"); JSONObject jso = JSONUtils.toJSON(json); @@ -64,6 +69,20 @@ public class ImageViewActivity extends Activity { } } + private void setFlingListener(View v) { + mFlingListener = new FlingListener(v, new FlingEvent() { + @Override + public void onFlingForward() { + setSelected(mSelected+1); + } + + @Override + public void onFlingBack() { + setSelected(mSelected-1); + } + }); + } + private void setSelected(int pos) { disableNavigation(); @@ -103,6 +122,8 @@ public class ImageViewActivity extends Activity { mForward.setEnabled(false); mBack.setVisibility(View.INVISIBLE); mForward.setVisibility(View.INVISIBLE); + mFlingListener.enableForward(false); + mFlingListener.enableBack(false); } private void enableNavigation() { @@ -110,15 +131,21 @@ public class ImageViewActivity extends Activity { mBack.setEnabled(true); mForward.setEnabled(true); - if( mSelected < 1 ) + if( mSelected < 1 ) { mBack.setVisibility(View.INVISIBLE); - else + mFlingListener.enableBack(false); + } else { mBack.setVisibility(View.VISIBLE); + mFlingListener.enableBack(true); + } - if( mSelected >= getNumImages()-1 ) + if( mSelected >= getNumImages()-1 ) { mForward.setVisibility(View.INVISIBLE); - else + mFlingListener.enableForward(false); + } else { mForward.setVisibility(View.VISIBLE); + mFlingListener.enableForward(true); + } } private class DownloadTask extends AsyncTask<JSONImageItem, Void, Drawable> { |