get image uri from intent
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/979f89a5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/979f89a5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/979f89a5 Branch: refs/heads/master Commit: 979f89a5fceb16657e4d5dfc0723dfcbae900472 Parents: 88c932f Author: Sagar <[email protected]> Authored: Mon Jul 25 17:01:48 2016 +0530 Committer: Sagar <[email protected]> Committed: Mon Jul 25 17:01:48 2016 +0530 ---------------------------------------------------------------------- .../FavouriteWorkflowDetailFragment.java | 31 +++++++------- .../mobile/ui/imagezoom/ImageZoomActivity.java | 6 +-- .../mobile/ui/imagezoom/ImageZoomFragment.java | 43 +++++++++----------- .../mobile/ui/imagezoom/ImageZoomMvpView.java | 2 - .../mobile/ui/imagezoom/ImageZoomPresenter.java | 41 ++----------------- .../workflowdetail/WorkflowDetailFragment.java | 30 ++++++++------ 6 files changed, 60 insertions(+), 93 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/979f89a5/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java index 6c85593..abfda2b 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java @@ -19,18 +19,6 @@ package org.apache.taverna.mobile.ui.favouriteworkflowdetail; -import com.bumptech.glide.Glide; -import com.bumptech.glide.load.engine.DiskCacheStrategy; - -import org.apache.taverna.mobile.R; -import org.apache.taverna.mobile.data.DataManager; -import org.apache.taverna.mobile.data.model.License; -import org.apache.taverna.mobile.data.model.User; -import org.apache.taverna.mobile.data.model.Workflow; -import org.apache.taverna.mobile.ui.imagezoom.ImageZoomActivity; -import org.apache.taverna.mobile.ui.imagezoom.ImageZoomFragment; -import org.apache.taverna.mobile.utils.ConnectionInfo; - import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; @@ -53,6 +41,18 @@ import android.widget.RelativeLayout; import android.widget.ScrollView; import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; + +import org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.data.DataManager; +import org.apache.taverna.mobile.data.model.License; +import org.apache.taverna.mobile.data.model.User; +import org.apache.taverna.mobile.data.model.Workflow; +import org.apache.taverna.mobile.ui.imagezoom.ImageZoomActivity; +import org.apache.taverna.mobile.ui.imagezoom.ImageZoomFragment; +import org.apache.taverna.mobile.utils.ConnectionInfo; + import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; @@ -96,6 +96,8 @@ public class FavouriteWorkflowDetailFragment extends Fragment private ActionBar actionBar; + private Workflow mWorkflow; + public static FavouriteWorkflowDetailFragment newInstance(String id) { Bundle args = new Bundle(); @@ -157,7 +159,8 @@ public class FavouriteWorkflowDetailFragment extends Fragment @OnClick(R.id.ivWorkflowImage) void zoomImage(View v) { Intent intent = new Intent(getActivity(), ImageZoomActivity.class); - intent.putExtra(ImageZoomFragment.ID, id); + intent.putExtra(ImageZoomFragment.JPG_URI, mWorkflow.getPreviewUri()); + intent.putExtra(ImageZoomFragment.SVG_URI, mWorkflow.getSvgUri()); startActivity(intent); } @@ -202,7 +205,7 @@ public class FavouriteWorkflowDetailFragment extends Fragment @Override public void showWorkflowDetail(Workflow workflow) { - + this.mWorkflow = workflow; uploaderName.setText(workflow.getUploader().getContent()); date.setText(workflow.getUpdatedAt() .substring(0, workflow.getUpdatedAt().indexOf(' '))); http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/979f89a5/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java index 4f594d8..35ef632 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java @@ -29,8 +29,6 @@ import butterknife.ButterKnife; public class ImageZoomActivity extends AppCompatActivity { - public static final String ID = "id"; - @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -42,7 +40,9 @@ public class ImageZoomActivity extends AppCompatActivity { if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.frame_container - , ImageZoomFragment.newInstance(getIntent().getStringExtra(ID))) + , ImageZoomFragment.newInstance(getIntent().getStringExtra + (ImageZoomFragment.JPG_URI), getIntent().getStringExtra + (ImageZoomFragment.SVG_URI))) .commit(); } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/979f89a5/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java index 75fb36b..0fd2819 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java @@ -20,8 +20,6 @@ package org.apache.taverna.mobile.ui.imagezoom; import android.content.Context; -import android.graphics.Matrix; -import android.graphics.PointF; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; @@ -52,37 +50,36 @@ import uk.co.senab.photoview.PhotoViewAttacher; public class ImageZoomFragment extends Fragment implements ImageZoomMvpView { - public static final String ID = "id"; - // The 3 states (events) which the user is trying to perform - static final int NONE = 0; - static final int DRAG = 1; - static final int ZOOM = 2; + public static final String JPG_URI = "jpgURI"; + + public static final String SVG_URI = "svgURI"; + private static final String SERVER_ERROR = "Sever Error. Please try after sometime"; + private static final String TAG = "ImageZoomFragment"; + @BindView(R.id.ivWorkflowImage) ImageView workflowImage; @BindView(R.id.ivClose) ImageView close; + PhotoViewAttacher mAttacher; - // These matrices will be used to scale points of the image - Matrix matrix = new Matrix(); - Matrix savedMatrix = new Matrix(); - int mode = NONE; - // these PointF objects are used to record the point(s) the user is touching - PointF start = new PointF(); - PointF mid = new PointF(); - float oldDist = 1f; - private String id; + + private String svgURI; + private String jpgURI; + private DataManager dataManager; private ImageZoomPresenter mImageZoomPresenter; private ConnectionInfo mConnectionInfo; - public static ImageZoomFragment newInstance(String id) { + public static ImageZoomFragment newInstance(String jpgURI, String svgURI) { Bundle args = new Bundle(); - args.putString(ID, id); + args.putString(JPG_URI, jpgURI); + + args.putString(SVG_URI, svgURI); ImageZoomFragment fragment = new ImageZoomFragment(); fragment.setArguments(args); @@ -94,7 +91,9 @@ public class ImageZoomFragment extends Fragment implements ImageZoomMvpView { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - id = getArguments().getString(ID); + svgURI = getArguments().getString(SVG_URI); + + jpgURI = getArguments().getString(JPG_URI); dataManager = new DataManager(); mImageZoomPresenter = new ImageZoomPresenter(dataManager); @@ -119,7 +118,7 @@ public class ImageZoomFragment extends Fragment implements ImageZoomMvpView { if (mConnectionInfo.isConnectingToInternet()) { - mImageZoomPresenter.loadImage(id, workflowImage); + mImageZoomPresenter.loadImage(svgURI, workflowImage); } else { showErrorSnackBar(getString(R.string.no_internet)); @@ -166,10 +165,6 @@ public class ImageZoomFragment extends Fragment implements ImageZoomMvpView { return getContext(); } - @Override - public void setJPGuri(String uri) { - jpgURI = uri; - } @Override public void setJPGImage() { http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/979f89a5/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomMvpView.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomMvpView.java index 8343f62..a4b6d36 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomMvpView.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomMvpView.java @@ -29,8 +29,6 @@ public interface ImageZoomMvpView extends MvpView { Context getAppContext(); - void setJPGuri(String uri); - void setJPGImage(); void addImageAttacher(); http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/979f89a5/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java index 5bf1ff9..1d5ca90 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java @@ -38,18 +38,13 @@ import com.caverock.androidsvg.SVG; import org.apache.taverna.mobile.R; import org.apache.taverna.mobile.data.DataManager; -import org.apache.taverna.mobile.data.local.DBHelper; import org.apache.taverna.mobile.ui.base.BasePresenter; import org.apache.taverna.mobile.utils.SvgDecoder; import org.apache.taverna.mobile.utils.SvgDrawableTranscoder; import java.io.InputStream; -import java.util.Map; -import rx.Observer; import rx.Subscription; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; public class ImageZoomPresenter extends BasePresenter<ImageZoomMvpView> { @@ -92,44 +87,16 @@ public class ImageZoomPresenter extends BasePresenter<ImageZoomMvpView> { if (mSubscriptions != null) mSubscriptions.unsubscribe(); } - public void loadImage(String id, final ImageView imageView) { + public void loadImage(String svgURI, final ImageView imageView) { - if (mSubscriptions != null) mSubscriptions.unsubscribe(); - - mSubscriptions = mDataManager.getImageURI(id) - .observeOn(AndroidSchedulers.mainThread()) - .subscribeOn(Schedulers.io()) - .subscribe(new Observer<Map<String, String>>() { - @Override - public void onCompleted() { - - } - - @Override - public void onError(Throwable e) { - getMvpView().showErrorSnackBar(DB_ERROR); - } - - @Override - public void onNext(Map<String, String> imageURI) { - if (imageURI.size() != 0) { - - setSVG(imageURI, imageView); - - getMvpView().setJPGuri(imageURI.get(DBHelper.JPG_URI)); - } else { - - getMvpView().showErrorSnackBar(NO_IMAGE_URI); - } - } - }); + setSVG(svgURI, imageView); } - private void setSVG(final Map<String, String> imageURI, final ImageView imageView) { + private void setSVG(String imageURI, final ImageView imageView) { requestBuilder .diskCacheStrategy(DiskCacheStrategy.SOURCE) - .load(Uri.parse(imageURI.get(DBHelper.SVG_URI))) + .load(Uri.parse(imageURI)) .into(new Target<PictureDrawable>() { @Override public void onLoadStarted(Drawable placeholder) { http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/979f89a5/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java index ed878f5..a26a625 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java @@ -19,18 +19,6 @@ package org.apache.taverna.mobile.ui.workflowdetail; -import com.bumptech.glide.Glide; -import com.bumptech.glide.load.engine.DiskCacheStrategy; - -import org.apache.taverna.mobile.R; -import org.apache.taverna.mobile.data.DataManager; -import org.apache.taverna.mobile.data.model.License; -import org.apache.taverna.mobile.data.model.User; -import org.apache.taverna.mobile.data.model.Workflow; -import org.apache.taverna.mobile.ui.imagezoom.ImageZoomActivity; -import org.apache.taverna.mobile.ui.imagezoom.ImageZoomFragment; -import org.apache.taverna.mobile.utils.ConnectionInfo; - import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; @@ -52,6 +40,18 @@ import android.widget.RelativeLayout; import android.widget.ScrollView; import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; + +import org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.data.DataManager; +import org.apache.taverna.mobile.data.model.License; +import org.apache.taverna.mobile.data.model.User; +import org.apache.taverna.mobile.data.model.Workflow; +import org.apache.taverna.mobile.ui.imagezoom.ImageZoomActivity; +import org.apache.taverna.mobile.ui.imagezoom.ImageZoomFragment; +import org.apache.taverna.mobile.utils.ConnectionInfo; + import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; @@ -91,6 +91,7 @@ public class WorkflowDetailFragment extends Fragment implements WorkflowDetailMv private String licenceId = null; private ProgressDialog dialog; + private Workflow mWorkflow; public static WorkflowDetailFragment newInstance(String id) { @@ -153,7 +154,8 @@ public class WorkflowDetailFragment extends Fragment implements WorkflowDetailMv @OnClick(R.id.ivWorkflowImage) void zoomImage(View v) { Intent intent = new Intent(getActivity(), ImageZoomActivity.class); - intent.putExtra(ImageZoomFragment.ID, id); + intent.putExtra(ImageZoomFragment.JPG_URI, mWorkflow.getPreviewUri()); + intent.putExtra(ImageZoomFragment.SVG_URI, mWorkflow.getSvgUri()); startActivity(intent); } @@ -199,6 +201,8 @@ public class WorkflowDetailFragment extends Fragment implements WorkflowDetailMv @Override public void showWorkflowDetail(Workflow workflow) { + this.mWorkflow = workflow; + uploaderName.setText(workflow.getUploader().getContent()); date.setText(workflow.getUpdatedAt() .substring(0, workflow.getUpdatedAt().indexOf(' ')));
