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

Merge remote-tracking branch 'origin/develop'

parents cbd7ebc0 f5eb33a1
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 156 additions and 225 deletions
Loading
Loading
@@ -5,7 +5,6 @@ import android.support.annotation.DrawableRes
import com.commit451.gitlab.R
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.model.api.RepositoryTreeObject
import com.commit451.gitlab.model.api.RepositoryTreeObject.*
 
@DrawableRes
fun RepositoryTreeObject.getDrawableForType(): Int {
Loading
Loading
@@ -13,9 +12,9 @@ fun RepositoryTreeObject.getDrawableForType(): Int {
return R.drawable.ic_unknown_24dp
}
when (type) {
TYPE_FILE -> return R.drawable.ic_file_24dp
TYPE_FOLDER -> return R.drawable.ic_folder_24dp
TYPE_REPO -> return R.drawable.ic_repo_24dp
RepositoryTreeObject.TYPE_FILE -> return R.drawable.ic_file_24dp
RepositoryTreeObject.TYPE_FOLDER -> return R.drawable.ic_folder_24dp
RepositoryTreeObject.TYPE_REPO -> return R.drawable.ic_repo_24dp
}
 
return R.drawable.ic_unknown_24dp
Loading
Loading
Loading
Loading
@@ -20,6 +20,6 @@ fun TextView.setMarkdownText(text:String, project: Project? = null) {
//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)
val getter = ImageGetterFactory.create(this, picasso, baseUrl!!, project)
this.text = emojiParsedHtml.formatAsHtml(getter)
}
package com.commit451.gitlab.extension
import com.commit451.gitlab.model.api.User
val User.feedUrl: String get() {
return webUrl + ".atom"
}
\ No newline at end of file
Loading
Loading
@@ -113,8 +113,8 @@ class BuildDescriptionFragment : ButterKnifeFragment() {
}
val name = String.format(getString(R.string.build_name), build.name)
textName.text = name
val pipeline = String.format(getString(R.string.build_pipeline), build.pipeline)
textPipeline.text = pipeline
val pipelineText = String.format(getString(R.string.build_pipeline), build.pipeline)
textPipeline.text = pipelineText
val stage = String.format(getString(R.string.build_stage), build.stage)
textStage.text = stage
val status = String.format(getString(R.string.build_status), build.status)
Loading
Loading
@@ -126,21 +126,25 @@ class BuildDescriptionFragment : ButterKnifeFragment() {
textCreated.text = created
val ref = String.format(getString(R.string.build_ref), build.ref)
textRef.text = ref
if (build.finishedAt != null) {
val finished = String.format(getString(R.string.build_finished), DateUtil.getRelativeTimeSpanString(activity, build.finishedAt))
val finishedAt = build.finishedAt
if (finishedAt != null) {
val finished = String.format(getString(R.string.build_finished), DateUtil.getRelativeTimeSpanString(activity, finishedAt))
textFinished.text = finished
textFinished.visibility = View.VISIBLE
} else {
textFinished.visibility = View.GONE
}
if (build.runner != null) {
bindRunner(build.runner)
val runner = build.runner
if (runner != null) {
bindRunner(runner)
}
if (build.pipeline != null) {
bindPipeline(build.pipeline)
val pipeline = build.pipeline
if (pipeline != null) {
bindPipeline(pipeline)
}
if (build.commit != null) {
bindCommit(build.commit)
val commit = build.commit
if (commit != null) {
bindCommit(commit)
}
}
 
Loading
Loading
Loading
Loading
@@ -78,7 +78,7 @@ class BuildLogFragment : ButterKnifeFragment() {
 
swipeRefreshLayout.isRefreshing = true
 
val url = build.getRawBuildUrl(App.get().getAccount().serverUrl, project)
val url = build.getRawBuildUrl(App.get().getAccount().serverUrl!!, project)
 
App.get().gitLab.getRaw(url)
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
Loading
Loading
Loading
Loading
@@ -32,9 +32,9 @@ class FeedFragment : ButterKnifeFragment() {
 
private val EXTRA_FEED_URL = "extra_feed_url"
 
fun newInstance(feedUrl: Uri?): FeedFragment {
fun newInstance(feedUrl: String): FeedFragment {
val args = Bundle()
args.putParcelable(EXTRA_FEED_URL, feedUrl)
args.putString(EXTRA_FEED_URL, feedUrl)
 
val fragment = FeedFragment()
fragment.arguments = args
Loading
Loading
@@ -52,7 +52,7 @@ class FeedFragment : ButterKnifeFragment() {
 
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
feedUrl = arguments.getParcelable<Uri>(EXTRA_FEED_URL)
feedUrl = Uri.parse(arguments.getString(EXTRA_FEED_URL))
}
 
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
Loading
Loading
@@ -104,7 +104,8 @@ class FeedFragment : ButterKnifeFragment() {
.subscribe(object : CustomSingleObserver<Feed>() {
override fun success(feed: Feed) {
swipeRefreshLayout.isRefreshing = false
if (feed.entries != null && !feed.entries.isEmpty()) {
val entries = feed.entries
if (entries != null && !entries.isEmpty()) {
textMessage.visibility = View.GONE
} else {
Timber.d("No activity in the feed")
Loading
Loading
Loading
Loading
@@ -22,7 +22,7 @@ import com.commit451.gitlab.dialog.AccessDialog
import com.commit451.gitlab.event.MemberAddedEvent
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Group
import com.commit451.gitlab.model.api.Member
import com.commit451.gitlab.model.api.User
import com.commit451.gitlab.navigation.Navigator
import com.commit451.gitlab.rx.CustomResponseSingleObserver
import com.commit451.gitlab.rx.CustomSingleObserver
Loading
Loading
@@ -59,7 +59,7 @@ class GroupMembersFragment : ButterKnifeFragment() {
lateinit var adapterGroupMembers: GroupMembersAdapter
lateinit var layoutManagerGroupMembers: DynamicGridLayoutManager
 
var member: Member? = null
var member: User? = null
lateinit var group: Group
var nextPageUrl: Uri? = null
 
Loading
Loading
@@ -76,11 +76,11 @@ class GroupMembersFragment : ButterKnifeFragment() {
}
 
private val listener = object : GroupMembersAdapter.Listener {
override fun onUserClicked(member: Member, holder: ProjectMemberViewHolder) {
override fun onUserClicked(member: User, holder: ProjectMemberViewHolder) {
Navigator.navigateToUser(activity, holder.image, member)
}
 
override fun onUserRemoveClicked(member: Member) {
override fun onUserRemoveClicked(member: User) {
this@GroupMembersFragment.member = member
App.get().gitLab.removeGroupMember(group.id, member.id)
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
Loading
Loading
@@ -98,10 +98,10 @@ class GroupMembersFragment : ButterKnifeFragment() {
})
}
 
override fun onUserChangeAccessClicked(member: Member) {
override fun onUserChangeAccessClicked(member: User) {
val accessDialog = AccessDialog(activity, member, group)
accessDialog.setOnAccessChangedListener(object : AccessDialog.OnAccessChangedListener {
override fun onAccessChanged(member: Member, accessLevel: String) {
override fun onAccessChanged(member: User, accessLevel: String) {
loadData()
}
})
Loading
Loading
@@ -178,10 +178,10 @@ class GroupMembersFragment : ButterKnifeFragment() {
loadGroupMembers(App.get().gitLab.getProjectMembers(nextPageUrl!!.toString()))
}
 
private fun loadGroupMembers(observable: Single<Response<List<Member>>>) {
private fun loadGroupMembers(observable: Single<Response<List<User>>>) {
observable
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
.subscribe(object : CustomResponseSingleObserver<List<Member>>() {
.subscribe(object : CustomResponseSingleObserver<List<User>>() {
 
override fun error(e: Throwable) {
Timber.e(e)
Loading
Loading
@@ -192,7 +192,7 @@ class GroupMembersFragment : ButterKnifeFragment() {
adapterGroupMembers.setData(null)
}
 
override fun responseNonNullSuccess(members: List<Member>) {
override fun responseNonNullSuccess(members: List<User>) {
swipeRefreshLayout.isRefreshing = false
if (members.isEmpty()) {
textMessage.visibility = View.VISIBLE
Loading
Loading
Loading
Loading
@@ -19,6 +19,7 @@ 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.api.response.FileUploadResponse
import com.commit451.gitlab.event.MergeRequestChangedEvent
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.*
Loading
Loading
Loading
Loading
@@ -21,7 +21,7 @@ import com.commit451.gitlab.activity.AttachActivity
import com.commit451.gitlab.adapter.MergeRequestDetailAdapter
import com.commit451.gitlab.event.MergeRequestChangedEvent
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.FileUploadResponse
import com.commit451.gitlab.api.response.FileUploadResponse
import com.commit451.gitlab.model.api.MergeRequest
import com.commit451.gitlab.model.api.Note
import com.commit451.gitlab.model.api.Project
Loading
Loading
Loading
Loading
@@ -145,7 +145,7 @@ class PipelineDescriptionFragment : ButterKnifeFragment() {
textFinished.visibility = View.GONE
}
if (pipeline.user != null) {
bindUser(pipeline.user)
bindUser(pipeline.user!!)
}
}
 
Loading
Loading
Loading
Loading
@@ -13,7 +13,9 @@ 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
Loading
Loading
@@ -139,8 +141,9 @@ class PipelineJobsFragment : ButterKnifeFragment() {
} else {
textFinished.visibility = View.GONE
}
if (pipeline.user != null) {
bindUser(pipeline.user)
val user = pipeline.user
if (user != null) {
bindUser(user)
}
}
 
Loading
Loading
@@ -149,6 +152,7 @@ class PipelineJobsFragment : ButterKnifeFragment() {
textAuthor.text = authorText
}
 
@Suppress("unused")
@Subscribe
fun onPipelineChangedEvent(event: PipelineChangedEvent) {
if (pipeline.id == event.pipeline.id) {
Loading
Loading
Loading
Loading
@@ -14,10 +14,7 @@ import com.commit451.gitlab.App
import com.commit451.gitlab.R
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.extension.*
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.model.api.RepositoryFile
import com.commit451.gitlab.model.api.RepositoryTreeObject
Loading
Loading
@@ -62,11 +59,13 @@ class ProjectFragment : ButterKnifeFragment() {
 
@OnClick(R.id.creator)
fun onCreatorClick() {
val project = project
if (project != null) {
if (project!!.belongsToGroup()) {
Navigator.navigateToGroup(activity, project!!.namespace.id)
val owner = project.owner
if (owner != null) {
Navigator.navigateToUser(activity, owner)
} else {
Navigator.navigateToUser(activity, project!!.owner)
Navigator.navigateToGroup(activity, project.namespace.id)
}
}
}
Loading
Loading
@@ -137,7 +136,7 @@ class ProjectFragment : ButterKnifeFragment() {
 
App.bus().register(this)
 
textOverview.movementMethod = InternalLinkMovementMethod(App.get().getAccount().serverUrl)
textOverview.movementMethod = InternalLinkMovementMethod(App.get().getAccount().serverUrl!!)
 
swipeRefreshLayout.setOnRefreshListener { loadData() }
 
Loading
Loading
@@ -172,7 +171,7 @@ class ProjectFragment : ButterKnifeFragment() {
App.get().gitLab.getTree(project!!.id, branchName!!, null)
.flatMap(Function<List<RepositoryTreeObject>, SingleSource<Optional<RepositoryTreeObject>>> { repositoryTreeObjects ->
for (treeItem in repositoryTreeObjects) {
if (getReadmeType(treeItem.name) != README_TYPE_UNKNOWN) {
if (getReadmeType(treeItem.name!!) != README_TYPE_UNKNOWN) {
return@Function Single.just(Optional(treeItem))
}
}
Loading
Loading
@@ -180,7 +179,7 @@ class ProjectFragment : ButterKnifeFragment() {
})
.flatMap(Function<Optional<RepositoryTreeObject>, SingleSource<Optional<RepositoryFile>>> { repositoryTreeObjectResult ->
if (repositoryTreeObjectResult.isPresent) {
val repositoryFile = App.get().gitLab.getFile(project!!.id, repositoryTreeObjectResult.get().name, branchName!!)
val repositoryFile = App.get().gitLab.getFile(project!!.id, repositoryTreeObjectResult.get().name!!, branchName!!)
.blockingGet()
result.repositoryFile = repositoryFile
return@Function Single.just(Optional(repositoryFile))
Loading
Loading
@@ -208,7 +207,7 @@ class ProjectFragment : ButterKnifeFragment() {
swipeRefreshLayout.isRefreshing = false
if (result.repositoryFile != null && result.bytes != null) {
val text = String(result.bytes!!)
when (getReadmeType(result.repositoryFile!!.fileName)) {
when (getReadmeType(result.repositoryFile!!.fileName!!)) {
README_TYPE_MARKDOWN -> {
textOverview.setMarkdownText(text, project)
}
Loading
Loading
@@ -231,7 +230,7 @@ class ProjectFragment : ButterKnifeFragment() {
if (project.belongsToGroup()) {
textCreator.text = String.format(getString(R.string.created_by), project.namespace.name)
} else {
textCreator.text = String.format(getString(R.string.created_by), project.owner.username)
textCreator.text = String.format(getString(R.string.created_by), project.owner!!.username)
}
textStarCount.text = project.starCount.toString()
textForksCount.text = project.forksCount.toString()
Loading
Loading
Loading
Loading
@@ -20,9 +20,10 @@ import com.commit451.gitlab.adapter.ProjectMembersAdapter
import com.commit451.gitlab.dialog.AccessDialog
import com.commit451.gitlab.event.MemberAddedEvent
import com.commit451.gitlab.event.ProjectReloadEvent
import com.commit451.gitlab.extension.belongsToGroup
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Member
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.model.api.User
import com.commit451.gitlab.navigation.Navigator
import com.commit451.gitlab.rx.CustomResponseSingleObserver
import com.commit451.gitlab.rx.CustomSingleObserver
Loading
Loading
@@ -53,7 +54,7 @@ class ProjectMembersFragment : ButterKnifeFragment() {
lateinit var layoutManagerMembers: GridLayoutManager
 
var project: Project? = null
var member: Member? = null
var member: User? = null
var nextPageUrl: Uri? = null
var loading = false
 
Loading
Loading
@@ -84,11 +85,11 @@ class ProjectMembersFragment : ButterKnifeFragment() {
App.bus().register(this)
 
adapterProjectMembers = ProjectMembersAdapter(object : ProjectMembersAdapter.Listener {
override fun onProjectMemberClicked(member: Member, memberGroupViewHolder: ProjectMemberViewHolder) {
override fun onProjectMemberClicked(member: User, memberGroupViewHolder: ProjectMemberViewHolder) {
Navigator.navigateToUser(activity, memberGroupViewHolder.image, member)
}
 
override fun onRemoveMember(member: Member) {
override fun onRemoveMember(member: User) {
this@ProjectMembersFragment.member = member
App.get().gitLab.removeProjectMember(project!!.id, member.id)
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
Loading
Loading
@@ -106,10 +107,10 @@ class ProjectMembersFragment : ButterKnifeFragment() {
})
}
 
override fun onChangeAccess(member: Member) {
override fun onChangeAccess(member: User) {
val accessDialog = AccessDialog(activity, member, project!!.id)
accessDialog.setOnAccessChangedListener(object : AccessDialog.OnAccessChangedListener {
override fun onAccessChanged(member: Member, accessLevel: String) {
override fun onAccessChanged(member: User, accessLevel: String) {
loadData()
}
})
Loading
Loading
@@ -177,10 +178,10 @@ class ProjectMembersFragment : ButterKnifeFragment() {
load(App.get().gitLab.getProjectMembers(nextPageUrl!!.toString()))
}
 
fun load(observable: Single<Response<List<Member>>>) {
fun load(observable: Single<Response<List<User>>>) {
observable
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
.subscribe(object : CustomResponseSingleObserver<List<Member>>() {
.subscribe(object : CustomResponseSingleObserver<List<User>>() {
 
override fun error(t: Throwable) {
loading = false
Loading
Loading
@@ -193,7 +194,7 @@ class ProjectMembersFragment : ButterKnifeFragment() {
nextPageUrl = null
}
 
override fun responseNonNullSuccess(members: List<Member>) {
override fun responseNonNullSuccess(members: List<User>) {
loading = false
swipeRefreshLayout.isRefreshing = false
if (!members.isEmpty()) {
Loading
Loading
Loading
Loading
@@ -2,6 +2,7 @@ package com.commit451.gitlab.fragment
 
import android.net.Uri
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.v4.widget.SwipeRefreshLayout
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
Loading
Loading
@@ -79,7 +80,12 @@ class TodoFragment : ButterKnifeFragment() {
 
adapterTodos = TodoAdapter(object : TodoAdapter.Listener {
override fun onTodoClicked(todo: Todo) {
Navigator.navigateToUrl(activity, Uri.parse(todo.targetUrl), App.get().getAccount())
val targetUrl = todo.targetUrl
if (targetUrl != null) {
Navigator.navigateToUrl(activity, targetUrl, App.get().getAccount())
} else {
Snackbar.make(swipeRefreshLayout, R.string.not_a_valid_url, Snackbar.LENGTH_SHORT)
}
}
})
layoutManagerTodos = LinearLayoutManager(activity)
Loading
Loading
Loading
Loading
@@ -14,7 +14,7 @@ import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.UserAdapter
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.UserBasic
import com.commit451.gitlab.model.api.User
import com.commit451.gitlab.navigation.Navigator
import com.commit451.gitlab.rx.CustomResponseSingleObserver
import com.commit451.gitlab.util.LinkHeaderParser
Loading
Loading
@@ -78,7 +78,7 @@ class UsersFragment : ButterKnifeFragment() {
super.onViewCreated(view, savedInstanceState)
 
adapterUser = UserAdapter(object : UserAdapter.Listener {
override fun onUserClicked(user: UserBasic, userViewHolder: UserViewHolder) {
override fun onUserClicked(user: User, userViewHolder: UserViewHolder) {
Navigator.navigateToUser(activity, userViewHolder.image, user)
}
})
Loading
Loading
@@ -109,7 +109,7 @@ class UsersFragment : ButterKnifeFragment() {
 
App.get().gitLab.searchUsers(query!!)
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
.subscribe(object : CustomResponseSingleObserver<List<UserBasic>>() {
.subscribe(object : CustomResponseSingleObserver<List<User>>() {
 
override fun error(e: Throwable) {
Timber.e(e)
Loading
Loading
@@ -120,7 +120,7 @@ class UsersFragment : ButterKnifeFragment() {
adapterUser.setData(null)
}
 
override fun responseNonNullSuccess(users: List<UserBasic>) {
override fun responseNonNullSuccess(users: List<User>) {
swipeRefreshLayout.isRefreshing = false
loading = false
if (users.isEmpty()) {
Loading
Loading
@@ -139,7 +139,7 @@ class UsersFragment : ButterKnifeFragment() {
Timber.d("loadMore called for %s %s", nextPageUrl!!.toString(), query)
App.get().gitLab.searchUsers(nextPageUrl!!.toString(), query!!)
.setup(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
.subscribe(object : CustomResponseSingleObserver<List<UserBasic>>() {
.subscribe(object : CustomResponseSingleObserver<List<User>>() {
 
override fun error(e: Throwable) {
Timber.e(e)
Loading
Loading
@@ -148,7 +148,7 @@ class UsersFragment : ButterKnifeFragment() {
adapterUser.setLoading(false)
}
 
override fun responseNonNullSuccess(users: List<UserBasic>) {
override fun responseNonNullSuccess(users: List<User>) {
loading = false
swipeRefreshLayout.isRefreshing = false
adapterUser.addData(users)
Loading
Loading
package com.commit451.gitlab.model;
import android.support.annotation.NonNull;
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;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* An account, stored locally, which references the needed info to connect to a server
*/
@Parcel
public class Account implements Comparable<Account>{
@NonNull
public static List<Account> getAccounts() {
List<Account> accounts = new ArrayList<>(Prefs.INSTANCE.getAccounts());
Collections.sort(accounts);
Collections.reverse(accounts);
return accounts;
}
@Json(name = "server_url")
String serverUrl;
@Json(name = "authorization_header")
String authorizationHeader;
@Json(name = "private_token")
String privateToken;
@Json(name = "trusted_certificate")
String trustedCertificate;
@Json(name = "trusted_hostname")
String trustedHostname;
@Json(name = "private_key_alias")
String privateKeyAlias;
@Json(name = "user")
UserFull user;
@Json(name = "last_used")
Date lastUsed;
public Account() {}
public String getServerUrl() {
return serverUrl;
}
public void setServerUrl(String url) {
serverUrl = url;
}
public String getAuthorizationHeader() {
return authorizationHeader;
}
public void setAuthorizationHeader(String authorizationHeader) {
this.authorizationHeader = authorizationHeader;
}
public String getPrivateToken() {
return privateToken;
}
public void setPrivateToken(String privateToken) {
this.privateToken = privateToken;
}
public String getTrustedCertificate() {
return trustedCertificate;
}
public void setTrustedCertificate(String trustedCertificate) {
this.trustedCertificate = trustedCertificate;
}
public String getTrustedHostname() {
return trustedHostname;
}
public void setTrustedHostname(String trustedHostname) {
this.trustedHostname = trustedHostname;
}
public String getPrivateKeyAlias() {
return privateKeyAlias;
}
public void setPrivateKeyAlias(String privateKeyAlias) {
this.privateKeyAlias = privateKeyAlias;
}
public UserFull getUser() {
return user;
}
public void setUser(UserFull user) {
this.user = user;
}
public Date getLastUsed() {
return lastUsed;
}
public void setLastUsed(Date lastUsed) {
this.lastUsed = lastUsed;
}
@Override
public int compareTo(@NonNull Account another) {
return lastUsed.compareTo(another.getLastUsed());
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Account)) {
return false;
}
Account account = (Account) o;
return ObjectUtil.INSTANCE.equals(serverUrl, account.serverUrl)
&& ObjectUtil.INSTANCE.equals(user, account.user);
}
@Override
public int hashCode() {
return ObjectUtil.INSTANCE.hash(serverUrl, user);
}
}
package com.commit451.gitlab.model
import com.commit451.gitlab.model.api.User
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
/**
* An account, stored locally, which references the needed info to connect to a server
*/
@Parcel(Parcel.Serialization.BEAN)
open class Account : Comparable<Account> {
@field:Json(name = "server_url")
var serverUrl: String? = null
@field:Json(name = "authorization_header")
var authorizationHeader: String? = null
@field:Json(name = "private_token")
var privateToken: String? = null
@field:Json(name = "trusted_certificate")
var trustedCertificate: String? = null
@field:Json(name = "trusted_hostname")
var trustedHostname: String? = null
@field:Json(name = "private_key_alias")
var privateKeyAlias: String? = null
@field:Json(name = "user")
var user: User? = null
@field:Json(name = "last_used")
var lastUsed: Date? = null
override fun compareTo(another: Account): Int {
return lastUsed!!.compareTo(another.lastUsed)
}
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other?.javaClass != javaClass) return false
other as Account
if (serverUrl != other.serverUrl) return false
if (user != other.user) return false
return true
}
override fun hashCode(): Int {
var result = serverUrl?.hashCode() ?: 0
result = 31 * result + (user?.hashCode() ?: 0)
return result
}
}
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 {
@Parcel(Parcel.Serialization.BEAN)
open class Ref {
 
companion object {
const val TYPE_BRANCH = 0
Loading
Loading
@@ -22,11 +21,9 @@ class Ref {
var type: Int = 0
var ref: String? = null
 
constructor() {
}
constructor()
 
constructor(@Type type: Int, ref: String) {
constructor(@Type type: Int, ref: String?) {
this.type = type
this.ref = ref
}
Loading
Loading
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
@Parcel
public class ArtifactsFile {
@Json(name = "filename")
String fileName;
@Json(name = "size")
long size;
public String getFileName() {
return fileName;
}
public long getSize() {
return size;
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
@Parcel(Parcel.Serialization.BEAN)
open class ArtifactsFile {
@field:Json(name = "filename")
lateinit var fileName: String
@field:Json(name = "size")
var size: Long = 0
}
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