Skip to content
Snippets Groups Projects
Commit 5eb88037 authored by adi.bk's avatar adi.bk
Browse files

- Add javadoc for BypassFactory

- Remove unncessary callback for Picasso
- Set click listener for image in factory
parent 2c4c19b6
No related branches found
No related tags found
1 merge request!24Issue #231 - Open images in full screen when clicked
Loading
Loading
@@ -12,18 +12,28 @@ import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.model.api.Project
import com.github.chrisbanes.photoview.PhotoViewAttacher
import com.squareup.picasso.Callback
import org.parceler.Parcels
 
/**
* An example full-screen activity that shows and hides the system UI (i.e.
* status bar and navigation/system bar) with user interaction.
* A full-screen activity that opens the clicked images
*/
class FullscreenImageActivity : BaseActivity() {
 
@BindView(R.id.toolbar) lateinit var toolbar: Toolbar
companion object {
val IMAGE_URL = "url"
private val EXTRA_PROJECT = "extra_project"
fun newIntent(context: Context, project: Project): Intent {
val intent = Intent(context, FullscreenImageActivity::class.java)
intent.putExtra(EXTRA_PROJECT, Parcels.wrap(project))
return intent
}
}
 
lateinit var contentView: ImageView
@BindView(R.id.toolbar) lateinit var toolbar: Toolbar
@BindView(R.id.fullscreen_content) lateinit var contentView: ImageView
lateinit var photoViewAttacher: PhotoViewAttacher
lateinit var project: Project
 
Loading
Loading
@@ -42,12 +52,7 @@ class FullscreenImageActivity : BaseActivity() {
if (imageUrl.startsWith("/")) {
imageUrl = App.get().getAccount().serverUrl.toString() + project?.pathWithNamespace + imageUrl
}
App.get().picasso.load(imageUrl).into(contentView, object:Callback {
override fun onSuccess() {
photoViewAttacher.update()
}
override fun onError() {}
})
App.get().picasso.load(imageUrl).into(contentView)
}
 
 
Loading
Loading
@@ -61,17 +66,4 @@ class FullscreenImageActivity : BaseActivity() {
onBackPressed()
return true
}
companion object {
val IMAGE_URL = "url"
private val EXTRA_PROJECT = "extra_project"
fun newIntent(context: Context, project: Project): Intent {
val intent = Intent(context, FullscreenImageActivity::class.java)
intent.putExtra(EXTRA_PROJECT, Parcels.wrap(project))
return intent
}
}
}
package com.commit451.gitlab.adapter
 
import `in`.uncod.android.bypass.Bypass
import `in`.uncod.android.bypass.ImageSpanClickListener
import android.content.Context
import android.support.v7.widget.RecyclerView
import android.view.ViewGroup
import com.commit451.gitlab.activity.FullscreenImageActivity
import com.commit451.gitlab.model.api.Issue
import com.commit451.gitlab.model.api.Note
import com.commit451.gitlab.model.api.Project
Loading
Loading
@@ -34,13 +32,8 @@ class IssueDetailsAdapter(context: Context, private var issue: Issue?, private v
 
private val notes: LinkedList<Note> = LinkedList()
private var loading = false
private var imageClickListener = ImageSpanClickListener { view, imageSpan,
imageUrl ->
val intent = FullscreenImageActivity.newIntent(view.context, project)
intent.putExtra(FullscreenImageActivity.IMAGE_URL, imageUrl)
context.startActivity(intent)
}
private val bypass: Bypass = BypassFactory.create(context, imageClickListener)
private val bypass: Bypass = BypassFactory.create(context, project)
 
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
if (viewType == TYPE_HEADER) {
Loading
Loading
Loading
Loading
@@ -38,7 +38,7 @@ class MergeRequestDetailAdapter(context: Context, private val mergeRequest: Merg
intent.putExtra(FullscreenImageActivity.IMAGE_URL, imageUrl)
context.startActivity(intent)
}
private val bypass: Bypass = BypassFactory.create(context, imageClickListener)
private val bypass: Bypass = BypassFactory.create(context, project)
 
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
if (viewType == TYPE_HEADER) {
Loading
Loading
Loading
Loading
@@ -13,9 +13,7 @@ import android.widget.TextView
import butterknife.BindView
import butterknife.OnClick
import com.commit451.gitlab.App
import com.commit451.gitlab.BuildConfig
import com.commit451.gitlab.R
import com.commit451.gitlab.activity.FullscreenImageActivity
import com.commit451.gitlab.activity.ProjectActivity
import com.commit451.gitlab.event.ProjectReloadEvent
import com.commit451.gitlab.extension.setup
Loading
Loading
@@ -136,12 +134,6 @@ class ProjectFragment : ButterKnifeFragment() {
 
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
bypass = BypassFactory.create(context)
bypass.setImageSpanClickListener { view, imageSpan, imageUrl ->
val intent = FullscreenImageActivity.newIntent(view.context, project!!)
intent.putExtra(FullscreenImageActivity.IMAGE_URL, imageUrl)
context.startActivity(intent)
}
}
 
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
Loading
Loading
@@ -160,6 +152,7 @@ class ProjectFragment : ButterKnifeFragment() {
if (activity is ProjectActivity) {
project = (activity as ProjectActivity).project
branchName = (activity as ProjectActivity).getRefRef()
bypass = BypassFactory.create(context, project!!)
bindProject(project)
loadData()
} else {
Loading
Loading
package com.commit451.gitlab.util
 
import `in`.uncod.android.bypass.Bypass
import `in`.uncod.android.bypass.ImageSpanClickListener
import android.content.Context
import com.commit451.gitlab.activity.FullscreenImageActivity
import com.commit451.gitlab.model.api.Project
 
/**
* Created by adibk on 4/15/17.
* Creates [BypassFactory]s which are configured to handle relative Urls
*/
object BypassFactory {
 
Loading
Loading
@@ -13,9 +14,13 @@ object BypassFactory {
return Bypass(context)
}
 
fun create(context: Context, clickListener: ImageSpanClickListener): Bypass {
fun create(context: Context, project: Project): Bypass {
val bypass = Bypass(context)
bypass.setImageSpanClickListener (clickListener)
bypass.setImageSpanClickListener { view, imageSpan, imageUrl ->
val intent = FullscreenImageActivity.newIntent(view.context, project)
intent.putExtra(FullscreenImageActivity.IMAGE_URL, imageUrl)
context.startActivity(intent)
}
return bypass
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment