Skip to content
Snippets Groups Projects
Commit cbd7ebc0 authored by John Carlson's avatar John Carlson
Browse files

Merge branch 'develop'

parents 35eba923 e31b881c
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 162 additions and 158 deletions
package com.commit451.gitlab.extension
import android.widget.TextView
import com.commit451.gitlab.App
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.util.ImageGetterFactory
import com.vdurmont.emoji.EmojiParser
import org.commonmark.parser.Parser
import org.commonmark.renderer.html.HtmlRenderer
fun TextView.setMarkdownText(text:String, project: Project? = null) {
val parser = Parser.builder().build()
val document = parser.parse(text)
val renderer = HtmlRenderer.builder().build()
val html = renderer.render(document)
val emojiParsedHtml = EmojiParser.parseToUnicode(html)
//I don't like this too much for its global-ness
val picasso = App.get().picasso
val baseUrl = App.get().currentAccount.serverUrl
val getter = ImageGetterFactory.create(this, picasso, baseUrl, project)
this.text = emojiParsedHtml.formatAsHtml(getter)
}
Loading
Loading
@@ -8,18 +8,17 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import butterknife.BindView
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.event.BuildChangedEvent
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.*
import com.commit451.gitlab.rx.CustomSingleObserver
import com.commit451.gitlab.util.DateUtil
import com.trello.rxlifecycle2.android.FragmentEvent
import org.greenrobot.eventbus.Subscribe
import org.parceler.Parcels
import timber.log.Timber
import java.util.*
 
Loading
Loading
@@ -36,8 +35,8 @@ class BuildDescriptionFragment : ButterKnifeFragment() {
fun newInstance(project: Project, build: Build): BuildDescriptionFragment {
val fragment = BuildDescriptionFragment()
val args = Bundle()
args.putParcelParcelableExtra(KEY_PROJECT, project)
args.putParcelParcelableExtra(KEY_BUILD, build)
args.putParcelerParcelable(KEY_PROJECT, project)
args.putParcelerParcelable(KEY_BUILD, build)
fragment.arguments = args
return fragment
}
Loading
Loading
Loading
Loading
@@ -7,19 +7,18 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import butterknife.BindView
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.event.BuildChangedEvent
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.getRawBuildUrl
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Build
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.rx.CustomSingleObserver
import com.trello.rxlifecycle2.android.FragmentEvent
import org.greenrobot.eventbus.Subscribe
import org.parceler.Parcels
import timber.log.Timber
 
/**
Loading
Loading
@@ -35,8 +34,8 @@ class BuildLogFragment : ButterKnifeFragment() {
fun newInstance(project: Project, build: Build): BuildLogFragment {
val fragment = BuildLogFragment()
val args = Bundle()
args.putParcelParcelableExtra(KEY_PROJECT, project)
args.putParcelParcelableExtra(KEY_BUILD, build)
args.putParcelerParcelable(KEY_PROJECT, project)
args.putParcelerParcelable(KEY_BUILD, build)
fragment.arguments = args
return fragment
}
Loading
Loading
Loading
Loading
@@ -105,7 +105,7 @@ class CommitsFragment : ButterKnifeFragment() {
 
swipeRefreshLayout.isRefreshing = true
 
page = 0
page = 1
loading = true
 
App.get().gitLab.getCommits(project!!.id, branchName!!, page)
Loading
Loading
Loading
Loading
@@ -21,6 +21,7 @@ import com.commit451.gitlab.adapter.BreadcrumbAdapter
import com.commit451.gitlab.adapter.DividerItemDecoration
import com.commit451.gitlab.adapter.FileAdapter
import com.commit451.gitlab.event.ProjectReloadEvent
import com.commit451.gitlab.extension.getUrl
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.model.api.RepositoryTreeObject
Loading
Loading
@@ -54,7 +55,7 @@ class FilesFragment : ButterKnifeFragment() {
var branchName: String? = null
var currentPath = ""
 
val mFilesAdapterListener = object : FileAdapter.Listener {
val filesAdapterListener = object : FileAdapter.Listener {
override fun onFolderClicked(treeItem: RepositoryTreeObject) {
loadData(currentPath + treeItem.name + "/")
}
Loading
Loading
@@ -68,18 +69,18 @@ class FilesFragment : ButterKnifeFragment() {
val clipboard = activity.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
 
// Creates a new text clip to put on the clipboard
val clip = ClipData.newPlainText(treeItem.name, treeItem.getUrl(project, branchName, currentPath).toString())
val clip = ClipData.newPlainText(treeItem.name, treeItem.getUrl(project!!, branchName!!, currentPath).toString())
clipboard.primaryClip = clip
Snackbar.make(root, R.string.copied_to_clipboard, Snackbar.LENGTH_SHORT)
.show()
}
 
override fun onShareClicked(treeItem: RepositoryTreeObject) {
IntentUtil.share(view!!, treeItem.getUrl(project, branchName, currentPath))
IntentUtil.share(view!!, treeItem.getUrl(project!!, branchName!!, currentPath))
}
 
override fun onOpenInBrowserClicked(treeItem: RepositoryTreeObject) {
IntentUtil.openPage(activity as BaseActivity, treeItem.getUrl(project, branchName, currentPath).toString())
IntentUtil.openPage(activity as BaseActivity, treeItem.getUrl(project!!, branchName!!, currentPath).toString())
}
}
 
Loading
Loading
@@ -92,7 +93,7 @@ class FilesFragment : ButterKnifeFragment() {
 
App.bus().register(this)
 
adapterFiles = FileAdapter(mFilesAdapterListener)
adapterFiles = FileAdapter(filesAdapterListener)
list.layoutManager = LinearLayoutManager(activity)
list.addItemDecoration(DividerItemDecoration(activity))
list.adapter = adapterFiles
Loading
Loading
Loading
Loading
@@ -13,13 +13,13 @@ import android.widget.TextView
import butterknife.BindView
import butterknife.OnClick
import com.alexgwyn.recyclerviewsquire.DynamicGridLayoutManager
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.GroupMembersAdapter
import com.commit451.gitlab.dialog.AccessDialog
import com.commit451.gitlab.event.MemberAddedEvent
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Group
import com.commit451.gitlab.model.api.Member
Loading
Loading
@@ -42,7 +42,7 @@ class GroupMembersFragment : ButterKnifeFragment() {
 
fun newInstance(group: Group): GroupMembersFragment {
val args = Bundle()
args.putParcelParcelableExtra(KEY_GROUP, group)
args.putParcelerParcelable(KEY_GROUP, group)
 
val fragment = GroupMembersFragment()
fragment.arguments = args
Loading
Loading
Loading
Loading
@@ -12,13 +12,14 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import butterknife.BindView
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.getParcelerParcelableExtra
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.activity.AttachActivity
import com.commit451.gitlab.adapter.MergeRequestDetailAdapter
import com.commit451.gitlab.event.MergeRequestChangedEvent
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.*
import com.commit451.gitlab.navigation.TransitionFactory
Loading
Loading
@@ -46,8 +47,8 @@ class IssueDiscussionFragment : ButterKnifeFragment() {
fun newInstance(project: Project, issue: Issue): IssueDiscussionFragment{
val fragment = IssueDiscussionFragment()
val args = Bundle()
args.putParcelParcelableExtra(KEY_PROJECT, project)
args.putParcelParcelableExtra(KEY_MERGE_REQUEST, issue)
args.putParcelerParcelable(KEY_PROJECT, project)
args.putParcelerParcelable(KEY_MERGE_REQUEST, issue)
fragment.arguments = args
return fragment
}
Loading
Loading
@@ -123,7 +124,7 @@ class IssueDiscussionFragment : ButterKnifeFragment() {
when (requestCode) {
REQUEST_ATTACH -> {
if (resultCode == RESULT_OK) {
val response = data!!.getParcelerParcelable<FileUploadResponse>(AttachActivity.KEY_FILE_UPLOAD_RESPONSE)!!
val response = data!!.getParcelerParcelableExtra<FileUploadResponse>(AttachActivity.KEY_FILE_UPLOAD_RESPONSE)!!
progress.visibility = View.GONE
sendMessageView.appendText(response.markdown)
} else {
Loading
Loading
@@ -141,7 +142,7 @@ class IssueDiscussionFragment : ButterKnifeFragment() {
 
fun loadNotes() {
swipeRefreshLayout.isRefreshing = true
App.get().gitLab.getMergeRequestNotes(project.id, mergeRequest.id)
App.get().gitLab.getMergeRequestNotes(project.id, mergeRequest.iid)
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
.subscribe(object : CustomResponseSingleObserver<List<Note>>() {
 
Loading
Loading
Loading
Loading
@@ -9,13 +9,13 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import butterknife.BindView
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.CommitAdapter
import com.commit451.gitlab.adapter.DividerItemDecoration
import com.commit451.gitlab.event.MergeRequestChangedEvent
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.MergeRequest
import com.commit451.gitlab.model.api.Project
Loading
Loading
@@ -39,8 +39,8 @@ class MergeRequestCommitsFragment : ButterKnifeFragment() {
fun newInstance(project: Project, mergeRequest: MergeRequest): MergeRequestCommitsFragment {
val fragment = MergeRequestCommitsFragment()
val args = Bundle()
args.putParcelParcelableExtra(KEY_PROJECT, project)
args.putParcelParcelableExtra(KEY_MERGE_REQUEST, mergeRequest)
args.putParcelerParcelable(KEY_PROJECT, project)
args.putParcelerParcelable(KEY_MERGE_REQUEST, mergeRequest)
fragment.arguments = args
return fragment
}
Loading
Loading
@@ -114,7 +114,7 @@ class MergeRequestCommitsFragment : ButterKnifeFragment() {
page = 0
loading = true
 
App.get().gitLab.getMergeRequestCommits(project!!.id, mergeRequest!!.id)
App.get().gitLab.getMergeRequestCommits(project!!.id, mergeRequest!!.iid)
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
.subscribe(object : CustomSingleObserver<List<RepositoryCommit>>() {
 
Loading
Loading
@@ -156,7 +156,7 @@ class MergeRequestCommitsFragment : ButterKnifeFragment() {
 
@Subscribe
fun onMergeRequestChangedEvent(event: MergeRequestChangedEvent) {
if (mergeRequest!!.id == event.mergeRequest.id) {
if (mergeRequest!!.iid == event.mergeRequest.id) {
mergeRequest = event.mergeRequest
loadData()
}
Loading
Loading
Loading
Loading
@@ -12,13 +12,14 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import butterknife.BindView
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.getParcelerParcelableExtra
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.activity.AttachActivity
import com.commit451.gitlab.adapter.MergeRequestDetailAdapter
import com.commit451.gitlab.event.MergeRequestChangedEvent
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.FileUploadResponse
import com.commit451.gitlab.model.api.MergeRequest
Loading
Loading
@@ -49,8 +50,8 @@ class MergeRequestDiscussionFragment : ButterKnifeFragment() {
fun newInstance(project: Project, mergeRequest: MergeRequest): MergeRequestDiscussionFragment {
val fragment = MergeRequestDiscussionFragment()
val args = Bundle()
args.putParcelParcelableExtra(KEY_PROJECT, project)
args.putParcelParcelableExtra(KEY_MERGE_REQUEST, mergeRequest)
args.putParcelerParcelable(KEY_PROJECT, project)
args.putParcelerParcelable(KEY_MERGE_REQUEST, mergeRequest)
fragment.arguments = args
return fragment
}
Loading
Loading
@@ -126,7 +127,7 @@ class MergeRequestDiscussionFragment : ButterKnifeFragment() {
when (requestCode) {
REQUEST_ATTACH -> {
if (resultCode == RESULT_OK) {
val response = data!!.getParcelerParcelable<FileUploadResponse>(AttachActivity.KEY_FILE_UPLOAD_RESPONSE)!!
val response = data!!.getParcelerParcelableExtra<FileUploadResponse>(AttachActivity.KEY_FILE_UPLOAD_RESPONSE)!!
progress.visibility = View.GONE
sendMessageView.appendText(response.markdown)
} else {
Loading
Loading
@@ -144,7 +145,7 @@ class MergeRequestDiscussionFragment : ButterKnifeFragment() {
 
fun loadNotes() {
swipeRefreshLayout.isRefreshing = true
App.get().gitLab.getMergeRequestNotes(project.id, mergeRequest.id)
App.get().gitLab.getMergeRequestNotes(project.id, mergeRequest.iid)
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
.subscribe(object : CustomResponseSingleObserver<List<Note>>() {
 
Loading
Loading
Loading
Loading
@@ -10,12 +10,13 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import butterknife.BindView
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelableExtra
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.activity.PickBranchOrTagActivity
import com.commit451.gitlab.adapter.BranchAdapter
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.Ref
import com.commit451.gitlab.model.api.Branch
Loading
Loading
@@ -37,7 +38,7 @@ class PickBranchFragment : ButterKnifeFragment() {
val fragment = PickBranchFragment()
val args = Bundle()
args.putLong(EXTRA_PROJECT_ID, projectId)
args.putParcelParcelableExtra(EXTRA_REF, ref)
args.putParcelerParcelable(EXTRA_REF, ref)
fragment.arguments = args
return fragment
}
Loading
Loading
@@ -68,7 +69,7 @@ class PickBranchFragment : ButterKnifeFragment() {
override fun onBranchClicked(entry: Branch) {
val data = Intent()
val ref = Ref(Ref.TYPE_BRANCH, entry.name)
data.putParcelParcelableExtra(PickBranchOrTagActivity.EXTRA_REF, ref)
data.putParcelerParcelableExtra(PickBranchOrTagActivity.EXTRA_REF, ref)
activity.setResult(Activity.RESULT_OK, data)
activity.finish()
}
Loading
Loading
Loading
Loading
@@ -10,18 +10,18 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import butterknife.BindView
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelableExtra
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.activity.PickBranchOrTagActivity
import com.commit451.gitlab.adapter.TagAdapter
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.Ref
import com.commit451.gitlab.model.api.Tag
import com.commit451.gitlab.rx.CustomSingleObserver
import com.trello.rxlifecycle2.android.FragmentEvent
import org.parceler.Parcels
import timber.log.Timber
 
/**
Loading
Loading
@@ -38,7 +38,7 @@ class PickTagFragment : ButterKnifeFragment() {
val fragment = PickTagFragment()
val args = Bundle()
args.putLong(EXTRA_PROJECT_ID, projectId)
args.putParcelParcelableExtra(EXTRA_CURRENT_REF, ref)
args.putParcelerParcelable(EXTRA_CURRENT_REF, ref)
fragment.arguments = args
return fragment
}
Loading
Loading
@@ -69,7 +69,7 @@ class PickTagFragment : ButterKnifeFragment() {
override fun onTagClicked(entry: Tag) {
val data = Intent()
val newRef = Ref(Ref.TYPE_TAG, entry.name)
data.putParcelParcelableExtra(PickBranchOrTagActivity.EXTRA_REF, newRef)
data.putParcelerParcelableExtra(PickBranchOrTagActivity.EXTRA_REF, newRef)
activity.setResult(Activity.RESULT_OK, data)
activity.finish()
}
Loading
Loading
package com.commit451.gitlab.fragment
 
import android.os.Bundle
import android.os.Parcelable
import android.support.design.widget.Snackbar
import android.support.v4.widget.SwipeRefreshLayout
import android.view.LayoutInflater
Loading
Loading
@@ -9,16 +8,19 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import butterknife.BindView
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.event.PipelineChangedEvent
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.*
import com.commit451.gitlab.model.api.CommitUser
import com.commit451.gitlab.model.api.Pipeline
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.rx.CustomSingleObserver
import com.commit451.gitlab.util.DateUtil
import com.trello.rxlifecycle2.android.FragmentEvent
import org.greenrobot.eventbus.Subscribe
import org.parceler.Parcels
import timber.log.Timber
import java.util.*
 
Loading
Loading
@@ -28,15 +30,14 @@ import java.util.*
class PipelineDescriptionFragment : ButterKnifeFragment() {
 
companion object {
private val KEY_PROJECT = "project"
private val KEY_PIPELINE = "pipeline"
 
fun newInstance(project: Project, pipeline: Pipeline): PipelineDescriptionFragment {
val fragment = PipelineDescriptionFragment()
val args = Bundle()
args.putParcelable(KEY_PROJECT, Parcels.wrap(project))
args.putParcelable(KEY_PIPELINE, Parcels.wrap(pipeline))
args.putParcelerParcelable(KEY_PROJECT, project)
args.putParcelerParcelable(KEY_PIPELINE, pipeline)
fragment.arguments = args
return fragment
}
Loading
Loading
@@ -59,8 +60,8 @@ class PipelineDescriptionFragment : ButterKnifeFragment() {
 
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
project = Parcels.unwrap<Project>(arguments.getParcelable<Parcelable>(KEY_PROJECT))
pipeline = Parcels.unwrap<Pipeline>(arguments.getParcelable<Parcelable>(KEY_PIPELINE))
project = arguments.getParcelerParcelable<Project>(KEY_PROJECT)!!
pipeline = arguments.getParcelerParcelable<Pipeline>(KEY_PIPELINE)!!
}
 
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
Loading
Loading
@@ -109,13 +110,17 @@ class PipelineDescriptionFragment : ButterKnifeFragment() {
if (startedTime == null) {
startedTime = Date()
}
var createdTime: Date? = pipeline.createdAt
if (createdTime == null) {
createdTime = Date()
}
val status = String.format(getString(R.string.pipeline_status), pipeline.status)
textStatus.text = status
 
val name = String.format(getString(R.string.pipeline_name), pipeline.id)
textName.text = name
 
val created = String.format(getString(R.string.build_created), DateUtil.getRelativeTimeSpanString(activity, pipeline.createdAt))
val created = String.format(getString(R.string.pipeline_created), DateUtil.getRelativeTimeSpanString(activity, createdTime))
textCreated.text = created
 
val finished = String.format(getString(R.string.pipeline_finished), pipeline.finishedAt)
Loading
Loading
package com.commit451.gitlab.fragment
 
import `in`.uncod.android.bypass.Bypass
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.v4.widget.SwipeRefreshLayout
Loading
Loading
@@ -17,18 +16,16 @@ import com.commit451.gitlab.activity.ProjectActivity
import com.commit451.gitlab.event.ProjectReloadEvent
import com.commit451.gitlab.extension.base64Decode
import com.commit451.gitlab.extension.formatAsHtml
import com.commit451.gitlab.extension.setMarkdownText
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.model.api.RepositoryFile
import com.commit451.gitlab.model.api.RepositoryTreeObject
import com.commit451.gitlab.navigation.Navigator
import com.commit451.gitlab.rx.CustomSingleObserver
import com.commit451.gitlab.util.BypassFactory
import com.commit451.gitlab.util.BypassImageGetterFactory
import com.commit451.gitlab.util.InternalLinkMovementMethod
import com.commit451.reptar.Result
import com.commit451.reptar.Optional
import com.trello.rxlifecycle2.android.FragmentEvent
import com.vdurmont.emoji.EmojiParser
import io.reactivex.Single
import io.reactivex.SingleSource
import io.reactivex.functions.Function
Loading
Loading
@@ -60,8 +57,6 @@ class ProjectFragment : ButterKnifeFragment() {
@BindView(R.id.forks_count) lateinit var textForksCount: TextView
@BindView(R.id.overview_text) lateinit var textOverview: TextView
 
lateinit var bypass: Bypass
var project: Project? = null
var branchName: String? = null
 
Loading
Loading
@@ -149,7 +144,6 @@ 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
@@ -176,24 +170,24 @@ class ProjectFragment : ButterKnifeFragment() {
 
val result = ReadmeResult()
App.get().gitLab.getTree(project!!.id, branchName!!, null)
.flatMap(Function<List<RepositoryTreeObject>, SingleSource<Result<RepositoryTreeObject>>> { repositoryTreeObjects ->
.flatMap(Function<List<RepositoryTreeObject>, SingleSource<Optional<RepositoryTreeObject>>> { repositoryTreeObjects ->
for (treeItem in repositoryTreeObjects) {
if (getReadmeType(treeItem.name) != README_TYPE_UNKNOWN) {
return@Function Single.just(Result(treeItem))
return@Function Single.just(Optional(treeItem))
}
}
Single.just(Result.empty<RepositoryTreeObject>())
Single.just(Optional.empty())
})
.flatMap(Function<Result<RepositoryTreeObject>, SingleSource<Result<RepositoryFile>>> { repositoryTreeObjectResult ->
.flatMap(Function<Optional<RepositoryTreeObject>, SingleSource<Optional<RepositoryFile>>> { repositoryTreeObjectResult ->
if (repositoryTreeObjectResult.isPresent) {
val repositoryFile = App.get().gitLab.getFile(project!!.id, repositoryTreeObjectResult.get().name, branchName!!)
.blockingGet()
result.repositoryFile = repositoryFile
return@Function Single.just(Result(repositoryFile))
return@Function Single.just(Optional(repositoryFile))
}
Single.just(Result.empty<RepositoryFile>())
Single.just(Optional.empty<RepositoryFile>())
})
.flatMap(Function<Result<RepositoryFile>, SingleSource<ReadmeResult>> { repositoryFileResult ->
.flatMap(Function<Optional<RepositoryFile>, SingleSource<ReadmeResult>> { repositoryFileResult ->
if (repositoryFileResult.isPresent) {
result.bytes = repositoryFileResult.get().content.base64Decode()
.blockingGet()
Loading
Loading
@@ -213,15 +207,10 @@ class ProjectFragment : ButterKnifeFragment() {
override fun success(readmeResult: ReadmeResult) {
swipeRefreshLayout.isRefreshing = false
if (result.repositoryFile != null && result.bytes != null) {
var text = String(result.bytes!!)
val text = String(result.bytes!!)
when (getReadmeType(result.repositoryFile!!.fileName)) {
README_TYPE_MARKDOWN -> {
text = EmojiParser.parseToUnicode(text)
textOverview.text = bypass.markdownToSpannable(text,
BypassImageGetterFactory.create(textOverview,
App.get().picasso,
App.get().getAccount().serverUrl.toString(),
project!!))
textOverview.setMarkdownText(text, project)
}
README_TYPE_HTML -> textOverview.text = text.formatAsHtml()
README_TYPE_TEXT -> textOverview.text = text
Loading
Loading
@@ -283,7 +272,7 @@ class ProjectFragment : ButterKnifeFragment() {
}
 
class ReadmeResult {
internal var bytes: ByteArray? = null
internal var repositoryFile: RepositoryFile? = null
var bytes: ByteArray? = null
var repositoryFile: RepositoryFile? = null
}
}
Loading
Loading
@@ -11,13 +11,13 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import butterknife.BindView
import com.commit451.addendum.parceler.getParcelerParcelable
import com.commit451.addendum.parceler.putParcelerParcelable
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.DividerItemDecoration
import com.commit451.gitlab.adapter.ProjectAdapter
import com.commit451.gitlab.api.GitLabService
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Group
import com.commit451.gitlab.model.api.Project
Loading
Loading
@@ -64,7 +64,7 @@ class ProjectsFragment : ButterKnifeFragment() {
fun newInstance(group: Group): ProjectsFragment {
val args = Bundle()
args.putInt(EXTRA_MODE, MODE_GROUP)
args.putParcelParcelableExtra(EXTRA_GROUP, group)
args.putParcelerParcelable(EXTRA_GROUP, group)
val fragment = ProjectsFragment()
fragment.arguments = args
return fragment
Loading
Loading
package com.commit451.gitlab.model;
 
import android.net.Uri;
import android.support.annotation.NonNull;
 
import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.commit451.gitlab.data.Prefs;
import com.commit451.gitlab.model.api.UserFull;
import com.commit451.gitlab.util.ObjectUtil;
import com.squareup.moshi.Json;
 
import org.parceler.Parcel;
 
Loading
Loading
@@ -20,7 +18,6 @@ import java.util.List;
* An account, stored locally, which references the needed info to connect to a server
*/
@Parcel
@JsonObject
public class Account implements Comparable<Account>{
 
@NonNull
Loading
Loading
@@ -31,30 +28,30 @@ public class Account implements Comparable<Account>{
return accounts;
}
 
@JsonField(name = "server_url")
Uri serverUrl;
@JsonField(name = "authorization_header")
@Json(name = "server_url")
String serverUrl;
@Json(name = "authorization_header")
String authorizationHeader;
@JsonField(name = "private_token")
@Json(name = "private_token")
String privateToken;
@JsonField(name = "trusted_certificate")
@Json(name = "trusted_certificate")
String trustedCertificate;
@JsonField(name = "trusted_hostname")
@Json(name = "trusted_hostname")
String trustedHostname;
@JsonField(name = "private_key_alias")
@Json(name = "private_key_alias")
String privateKeyAlias;
@JsonField(name = "user")
@Json(name = "user")
UserFull user;
@JsonField(name = "last_used")
@Json(name = "last_used")
Date lastUsed;
 
public Account() {}
 
public Uri getServerUrl() {
public String getServerUrl() {
return serverUrl;
}
 
public void setServerUrl(Uri url) {
public void setServerUrl(String url) {
serverUrl = url;
}
 
Loading
Loading
package com.commit451.gitlab.model;
import android.support.annotation.IntDef;
import org.parceler.Parcel;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Local only model that references either a branch or a tag, and holds its type
*/
@Parcel
public class Ref {
@Retention(RetentionPolicy.SOURCE)
@IntDef({TYPE_BRANCH, TYPE_TAG})
public @interface Type {}
public static final int TYPE_BRANCH = 0;
public static final int TYPE_TAG = 1;
int type;
String ref;
protected Ref() {
}
public Ref(@Type int type, String ref) {
this.type = type;
this.ref = ref;
}
public int getType() {
return type;
}
public String getRef() {
return ref;
}
}
package com.commit451.gitlab.model
import android.support.annotation.IntDef
import org.parceler.Parcel
/**
* Local only model that references either a branch or a tag, and holds its type
*/
@Parcel
class Ref {
companion object {
const val TYPE_BRANCH = 0
const val TYPE_TAG = 1
}
@Retention(AnnotationRetention.SOURCE)
@IntDef(TYPE_BRANCH.toLong(), TYPE_TAG.toLong())
annotation class Type
var type: Int = 0
var ref: String? = null
constructor() {
}
constructor(@Type type: Int, ref: String) {
this.type = type
this.ref = ref
}
}
package com.commit451.gitlab.model.api;
 
import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.squareup.moshi.Json;
 
import org.parceler.Parcel;
 
@JsonObject
@Parcel
public class ArtifactsFile {
 
@JsonField(name = "filename")
@Json(name = "filename")
String fileName;
@JsonField(name = "size")
@Json(name = "size")
long size;
 
public String getFileName() {
Loading
Loading
package com.commit451.gitlab.model.api;
 
import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.squareup.moshi.Json;
 
import org.parceler.Parcel;
 
Loading
Loading
@@ -10,23 +9,22 @@ import java.util.Date;
/**
* http://docs.gitlab.com/ce/api/award_emoji.html
*/
@JsonObject
@Parcel
public class AwardEmoji {
 
@JsonField(name = "id")
@Json(name = "id")
String id;
@JsonField(name = "name")
@Json(name = "name")
String name;
@JsonField(name = "user")
@Json(name = "user")
UserBasic user;
@JsonField(name = "created_at")
@Json(name = "created_at")
Date createdAt;
@JsonField(name = "updated_at")
@Json(name = "updated_at")
Date updatedAt;
@JsonField(name = "awardable_id")
@Json(name = "awardable_id")
int awardableId;
@JsonField(name = "awardable_type")
@Json(name = "awardable_type")
String awardableType;
 
public String getId() {
Loading
Loading
package com.commit451.gitlab.model.api;
 
import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.commit451.gitlab.util.ObjectUtil;
import com.squareup.moshi.Json;
 
import org.parceler.Parcel;
 
@Parcel
@JsonObject
public class Branch {
@JsonField(name = "name")
@Json(name = "name")
String name;
@JsonField(name = "protected")
@Json(name = "protected")
boolean isProtected;
 
public Branch() {}
Loading
Loading
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