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

API models to Kotlin

parent e31b881c
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 67 additions and 31 deletions
Loading
Loading
@@ -90,6 +90,10 @@ android {
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
packagingOptions {
exclude 'META-INF/MANIFEST.MF'
}
}
 
ext {
Loading
Loading
Loading
Loading
@@ -50,6 +50,7 @@
-keepclasseswithmembers class * {
@com.squareup.moshi.* <methods>;
}
-keep @com.squareup.moshi.JsonQualifier interface *
 
# Custom rules
-keep class com.commit451.gitlab.ssl.CustomSSLSocketFactory
\ No newline at end of file
Loading
Loading
@@ -74,7 +74,7 @@ open class App : Application() {
 
SimpleChromeCustomTabs.initialize(this)
 
val accounts = Account.getAccounts()
val accounts = Prefs.getAccounts()
if (!accounts.isEmpty()) {
setAccount(accounts[0])
}
Loading
Loading
Loading
Loading
@@ -116,7 +116,7 @@ class AboutActivity : BaseActivity() {
 
override fun success(contributors: List<Contributor>) {
progress.visibility = View.GONE
addContributors(Contributor.groupContributors(contributors))
addContributors(contributors)
}
})
progress.visibility = View.VISIBLE
Loading
Loading
Loading
Loading
@@ -55,9 +55,10 @@ class ActivityActivity : BaseActivity() {
.appendPath("dashboard")
.appendPath("projects.atom")
.build()
Timber.d("Showing activity feed for: %s", feedUri.toString())
val feedUrl = feedUri.toString()
Timber.d("Showing activity feed for: %s", feedUrl)
 
feedFragment = FeedFragment.newInstance(feedUri)
feedFragment = FeedFragment.newInstance(feedUrl)
supportFragmentManager.beginTransaction()
.replace(R.id.root_fragment, feedFragment, TAG_FEED_FRAGMENT)
.commit()
Loading
Loading
Loading
Loading
@@ -27,6 +27,7 @@ import com.commit451.gitlab.adapter.AssigneeSpinnerAdapter
import com.commit451.gitlab.adapter.MilestoneSpinnerAdapter
import com.commit451.gitlab.event.IssueChangedEvent
import com.commit451.gitlab.event.IssueCreatedEvent
import com.commit451.gitlab.extension.belongsToGroup
import com.commit451.gitlab.extension.checkValid
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.*
Loading
Loading
@@ -240,7 +241,7 @@ class AddIssueActivity : MorphActivity() {
if (projectLabels != null && !projectLabels.isEmpty() && issue != null && issue!!.labels != null) {
val currentLabels = ArrayList<Label>()
for (label in projectLabels) {
for (labelName in issue!!.labels) {
for (labelName in issue!!.labels!!) {
if (labelName == label.name) {
currentLabels.add(label)
}
Loading
Loading
Loading
Loading
@@ -20,7 +20,7 @@ import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.extension.toPart
import com.commit451.gitlab.model.api.FileUploadResponse
import com.commit451.gitlab.api.response.FileUploadResponse
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.rx.CustomSingleObserver
import pl.aprilapps.easyphotopicker.DefaultCallback
Loading
Loading
Loading
Loading
@@ -196,10 +196,13 @@ class BuildActivity : BaseActivity() {
}
}
 
private fun downloadBuild() {
fun downloadBuild() {
val account = App.get().getAccount()
val downloadUrl = build.getDownloadBuildUrl(App.get().getAccount().serverUrl, project)
val downloadUrl = build.getDownloadBuildUrl(App.get().getAccount().serverUrl!!, project)
Timber.d("Downloading build: " + downloadUrl)
DownloadUtil.download(this@BuildActivity, account, downloadUrl, build.artifactsFile.fileName)
val artifactsFileName = build.artifactsFile?.fileName
if (artifactsFileName != null) {
DownloadUtil.download(this, account, downloadUrl, artifactsFileName)
}
}
}
Loading
Loading
@@ -23,11 +23,11 @@ import com.commit451.addendum.parceler.putParcelerParcelableExtra
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.IssueDetailsAdapter
import com.commit451.gitlab.api.response.FileUploadResponse
import com.commit451.gitlab.event.IssueChangedEvent
import com.commit451.gitlab.event.IssueReloadEvent
import com.commit451.gitlab.extension.getUrl
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.FileUploadResponse
import com.commit451.gitlab.model.api.Issue
import com.commit451.gitlab.model.api.Note
import com.commit451.gitlab.model.api.Project
Loading
Loading
@@ -182,7 +182,7 @@ class IssueActivity : BaseActivity() {
if (intent.hasExtra(EXTRA_SELECTED_ISSUE)) {
project = intent.getParcelerParcelableExtra<Project>(EXTRA_PROJECT)
issue = intent.getParcelerParcelableExtra<Issue>(EXTRA_SELECTED_ISSUE)
adapterIssueDetails = IssueDetailsAdapter(this@IssueActivity, issue, project!!)
adapterIssueDetails = IssueDetailsAdapter(issue, project!!)
listNotes.adapter = adapterIssueDetails
bindIssue()
bindProject()
Loading
Loading
@@ -216,7 +216,7 @@ class IssueActivity : BaseActivity() {
.show()
} else {
issue = issues[0]
adapterIssueDetails = IssueDetailsAdapter(this@IssueActivity, issue, project!!)
adapterIssueDetails = IssueDetailsAdapter(issue, project!!)
listNotes.adapter = adapterIssueDetails
bindIssue()
bindProject()
Loading
Loading
Loading
Loading
@@ -50,7 +50,7 @@ class LaunchActivity : BaseActivity() {
}
 
private fun figureOutWhatToDo() {
val accounts = Account.getAccounts()
val accounts = Prefs.getAccounts()
if (accounts.isEmpty()) {
Navigator.navigateToLogin(this)
finish()
Loading
Loading
Loading
Loading
@@ -486,8 +486,8 @@ class LoginActivity : BaseActivity() {
fun isAlreadySignedIn(url: String, usernameOrEmailOrPrivateToken: String): Boolean {
val accounts = Prefs.getAccounts()
return accounts.any {
it.serverUrl == url && (usernameOrEmailOrPrivateToken == it.user.username
|| usernameOrEmailOrPrivateToken.equals(it.user.email, ignoreCase = true)
it.serverUrl == url && (usernameOrEmailOrPrivateToken == it.user?.username
|| usernameOrEmailOrPrivateToken.equals(it.user?.email, ignoreCase = true)
|| usernameOrEmailOrPrivateToken.equals(it.privateToken, ignoreCase = true))
}
}
Loading
Loading
Loading
Loading
@@ -77,9 +77,7 @@ class ProjectActivity : BaseActivity() {
@BindView(R.id.pager) lateinit var viewPager: ViewPager
 
var project: Project? = null
internal set
var ref: Ref? = null
internal set
 
val onMenuItemClickListener = Toolbar.OnMenuItemClickListener { item ->
when (item.itemId) {
Loading
Loading
@@ -96,20 +94,22 @@ class ProjectActivity : BaseActivity() {
return@OnMenuItemClickListener true
}
R.id.action_copy_git_https -> {
if (project == null || project!!.httpUrlToRepo == null) {
val url = project?.httpUrlToRepo
if (url == null) {
Toast.makeText(this@ProjectActivity, R.string.failed_to_copy_to_clipboard, Toast.LENGTH_SHORT)
.show()
} else {
copyToClipboard(project!!.httpUrlToRepo)
copyToClipboard(url)
}
return@OnMenuItemClickListener true
}
R.id.action_copy_git_ssh -> {
if (project == null || project!!.httpUrlToRepo == null) {
val url = project?.sshUrlToRepo
if (url == null) {
Toast.makeText(this@ProjectActivity, R.string.failed_to_copy_to_clipboard, Toast.LENGTH_SHORT)
.show()
} else {
copyToClipboard(project!!.sshUrlToRepo)
copyToClipboard(url)
}
return@OnMenuItemClickListener true
}
Loading
Loading
@@ -232,7 +232,7 @@ class ProjectActivity : BaseActivity() {
fun bindProject(project: Project) {
this.project = project
if (ref == null) {
ref = Ref(Ref.TYPE_BRANCH, this.project!!.defaultBranch)
ref = Ref(Ref.TYPE_BRANCH, project.defaultBranch)
}
toolbar.title = this.project!!.name
toolbar.subtitle = this.project!!.namespace.name
Loading
Loading
Loading
Loading
@@ -5,7 +5,7 @@ import android.net.Uri
import android.os.Bundle
import android.widget.Toast
import com.commit451.gitlab.R
import com.commit451.gitlab.model.Account
import com.commit451.gitlab.data.Prefs
import com.commit451.gitlab.navigation.DeepLinker
import com.commit451.gitlab.navigation.Navigator
import com.commit451.gitlab.navigation.RoutingNavigator
Loading
Loading
@@ -97,7 +97,7 @@ class RoutingActivity : BaseActivity() {
 
//okay so last thing, if the user has followed a link, but the user
//is not actually signed in, we want to direct them to signin
if (Account.getAccounts().isEmpty()) {
if (Prefs.getAccounts().isEmpty()) {
Navigator.navigateToLogin(this)
finish()
return
Loading
Loading
Loading
Loading
@@ -19,6 +19,7 @@ import com.commit451.alakazam.Alakazam
import com.commit451.easel.Easel
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.extension.feedUrl
import com.commit451.gitlab.fragment.FeedFragment
import com.commit451.gitlab.model.api.UserBasic
import com.commit451.gitlab.transformation.PaletteTransformation
Loading
Loading
Loading
Loading
@@ -5,6 +5,7 @@ import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentPagerAdapter
import com.commit451.gitlab.R
import com.commit451.gitlab.extension.feedUrl
import com.commit451.gitlab.fragment.FeedFragment
import com.commit451.gitlab.fragment.GroupMembersFragment
import com.commit451.gitlab.fragment.ProjectsFragment
Loading
Loading
package com.commit451.gitlab.adapter
 
import android.content.Context
import android.support.v7.widget.RecyclerView
import android.view.ViewGroup
import com.commit451.gitlab.model.api.Issue
Loading
Loading
@@ -15,7 +14,7 @@ import java.util.*
/**
* Nice notes
*/
class IssueDetailsAdapter(context: Context, private var issue: Issue?, private val project: Project) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
class IssueDetailsAdapter(private var issue: Issue?, private val project: Project) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
 
companion object {
 
Loading
Loading
@@ -48,7 +47,7 @@ class IssueDetailsAdapter(context: Context, private var issue: Issue?, private v
if (holder is IssueHeaderViewHolder) {
holder.bind(issue!!, project)
} else if (holder is IssueLabelsViewHolder) {
holder.bind(issue!!.labels)
holder.bind(issue!!.labels!!)
} else if (holder is NoteViewHolder) {
val note = getNoteAt(position)
holder.bind(note, project)
Loading
Loading
@@ -98,7 +97,7 @@ class IssueDetailsAdapter(context: Context, private var issue: Issue?, private v
val oldLabels = this.issue!!.labels
this.issue = issue
notifyItemChanged(0)
if (oldLabels.size != this.issue!!.labels.size) {
if (oldLabels!!.size != this.issue!!.labels!!.size) {
notifyItemChanged(1)
}
}
Loading
Loading
Loading
Loading
@@ -5,7 +5,7 @@ import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentPagerAdapter
import com.commit451.gitlab.R
import com.commit451.gitlab.activity.ProjectActivity
import com.commit451.gitlab.extension.getFeedUrl
import com.commit451.gitlab.extension.feedUrl
import com.commit451.gitlab.fragment.*
import com.commit451.gitlab.model.api.Project
import timber.log.Timber
Loading
Loading
@@ -74,7 +74,7 @@ class ProjectSectionsPagerAdapter(context: ProjectActivity, fm: FragmentManager)
 
when (correctPosition) {
PROJECT_POS -> return ProjectFragment.newInstance()
ACTIVITY_POS -> return FeedFragment.newInstance(project.getFeedUrl())
ACTIVITY_POS -> return FeedFragment.newInstance(project.feedUrl)
FILES_POS -> return FilesFragment.newInstance()
COMMITS_POS -> return CommitsFragment.newInstance()
PIPELINES_POS -> return PipelinesFragment.newInstance()
Loading
Loading
package com.commit451.gitlab.api
 
import com.commit451.gitlab.api.request.SessionRequest
import com.commit451.gitlab.api.response.FileUploadResponse
import com.commit451.gitlab.model.api.*
import io.reactivex.Single
import okhttp3.MultipartBody
Loading
Loading
package com.commit451.gitlab.api.response
import com.squareup.moshi.Json
import org.parceler.Parcel
/**
* Response when a file is uploaded
*/
@Parcel
class FileUploadResponse {
@Json(name = "alt")
var alt: String? = null
@Json(name = "url")
var url: String? = null
@Json(name = "is_image")
var isImage: Boolean = false
@Json(name = "markdown")
lateinit var markdown: String
}
Loading
Loading
@@ -48,7 +48,10 @@ object Prefs {
if (!accountsJson.isNullOrEmpty()) {
val type = Types.newParameterizedType(List::class.java, Account::class.java)
val adapter = MoshiProvider.moshi.adapter<List<Account>>(type)
return adapter.fromJson(accountsJson)!!.toMutableList()
val accounts = adapter.fromJson(accountsJson)!!.toMutableList()
Collections.sort(accounts)
Collections.reverse(accounts)
return accounts
} else {
return ArrayList()
}
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