Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Commit451/LabCoat
  • Iktwo/GitLabAndroid
  • jonduran3000/GitLabAndroid
  • steffandroid/GitLabAndroid
  • xiaoyanit/GitLabAndroid
  • scottolcott/GitLabAndroid
  • james.mu/GitLabAndroid
  • pushkarpandey27/GitLabAndroid
  • atomfrede/GitLabAndroid
  • burrito82/GitLabAndroid
  • txlong_onz/GitLabAndroid
  • ricardo.longa/GitLabAndroid
  • rubenroy/GitLabAndroid
  • remy_android/GitLabAndroid
  • mzestars/GitLabAndroid
  • theobisproject/LabCoat
  • tarek360/GitLabAndroid
  • TR4Android/LabCoat
  • lvsmart/LabCoat
  • buddybuild/LabCoat
  • tkuah/LabCoat
  • jay3126/LabCoat
  • rmad17/LabCoat
  • galvatron/LabCoat
  • lijianjian13/LabCoat
  • Cody2333/LabCoat
  • ajtfreitas/LabCoat
  • nestor.lobo/LabCoat
  • Microgamer/LabCoat
  • irvinwang/LabCoat
  • avallete/LabCoat
  • digicazter/LabCoat
  • lovexiaov/LabCoat
  • dineshkarpe/LabCoat
  • bak1an/LabCoat
  • loomis/LabCoat
  • sank20/LabCoat
  • Jawnnyfoo/LabCoat
  • scottyab/LabCoat
  • aleksandar-stefanovic/LabCoat
  • tfontana/LabCoat
  • fuzzmz/LabCoat
  • dipaksavaliya/LabCoat
  • adi.bk/LabCoat
  • andreea.voicu/LabCoat
  • H1ghT0p/LabCoat
  • indritqoku/LabCoat
  • armpogart/LabCoat
  • eyedol/LabCoat
  • khairulnizan/LabCoat
  • vadm.perspectiva/LabCoat
  • yiyoss1986/LabCoat
  • BRoy98/LabCoat
  • satyarth.23/LabCoat
  • victorpe76/LabCoat
  • canhnht/LabCoat
  • jinhu/LabCoat
  • weathery/LabCoat
  • gitlabproject_s/LabCoat
  • tfKamran/LabCoat
  • voxadam/LabCoat
  • nprail/LabCoat
  • terrakok/LabCoat
  • jungletian/LabCoat
  • goldins/LabCoat
  • insanum/LabCoat
  • lzrs/LabCoat
  • shankarg/LabCoat
  • rm3l/LabCoat
  • alamo_dev/LabCoat
  • insomniaqc/LabCoat
  • mrasif/LabCoat
  • Babasile/LabCoat
  • eeyoo/LabCoat
  • ditkin/LabCoat
  • unbubot/LabCoat
  • bschuhm/LabCoat
  • fanticker/LabCoat
  • colorwebdesigner/LabCoat
  • milouse/LabCoat
80 results
Show changes
Showing
with 408 additions and 71 deletions
package com.commit451.gitlab.activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.support.v7.widget.Toolbar
import android.widget.ImageView
import butterknife.BindView
import butterknife.ButterKnife
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.model.api.Project
import com.github.chrisbanes.photoview.PhotoView
/**
* A full-screen activity that opens the clicked images
*/
class FullscreenImageActivity : BaseActivity() {
companion object {
private val KEY_URL = "url"
private val KEY_PROJECT = "project"
fun newIntent(context: Context, project: Project, url: String): Intent {
val intent = Intent(context, FullscreenImageActivity::class.java)
intent.putParcelParcelableExtra(KEY_PROJECT, project)
intent.putExtra(KEY_URL, url)
return intent
}
}
@BindView(R.id.toolbar) lateinit var toolbar: Toolbar
@BindView(R.id.photo_view) lateinit var photoView: PhotoView
lateinit var project: Project
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_fullscreen_image)
ButterKnife.bind(this)
project = intent.getParcelerParcelable(KEY_PROJECT)!!
toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener {
onBackPressed()
}
photoView.scaleType = ImageView.ScaleType.FIT_CENTER
var imageUrl: String = intent.getStringExtra(KEY_URL)
if (imageUrl.startsWith("/")) {
imageUrl = App.get().getAccount().serverUrl.toString() + project.pathWithNamespace + imageUrl
}
App.get().picasso
.load(imageUrl)
.into(photoView)
}
}
Loading
@@ -7,7 +7,6 @@ import android.content.Intent
Loading
@@ -7,7 +7,6 @@ import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable
import android.support.design.widget.CollapsingToolbarLayout import android.support.design.widget.CollapsingToolbarLayout
import android.support.design.widget.Snackbar import android.support.design.widget.Snackbar
import android.support.design.widget.TabLayout import android.support.design.widget.TabLayout
Loading
@@ -23,12 +22,13 @@ import com.commit451.easel.Easel
Loading
@@ -23,12 +22,13 @@ import com.commit451.easel.Easel
import com.commit451.gitlab.App import com.commit451.gitlab.App
import com.commit451.gitlab.R import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.GroupPagerAdapter import com.commit451.gitlab.adapter.GroupPagerAdapter
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Group import com.commit451.gitlab.model.api.Group
import com.commit451.gitlab.model.api.GroupDetail import com.commit451.gitlab.model.api.GroupDetail
import com.commit451.gitlab.rx.CustomSingleObserver import com.commit451.gitlab.rx.CustomSingleObserver
import com.commit451.gitlab.transformation.PaletteTransformation import com.commit451.gitlab.transformation.PaletteTransformation
import org.parceler.Parcels
import timber.log.Timber import timber.log.Timber
   
/** /**
Loading
@@ -43,7 +43,7 @@ class GroupActivity : BaseActivity() {
Loading
@@ -43,7 +43,7 @@ class GroupActivity : BaseActivity() {
   
fun newIntent(context: Context, group: Group): Intent { fun newIntent(context: Context, group: Group): Intent {
val intent = Intent(context, GroupActivity::class.java) val intent = Intent(context, GroupActivity::class.java)
intent.putExtra(KEY_GROUP, Parcels.wrap(group)) intent.putParcelParcelableExtra(KEY_GROUP, group)
return intent return intent
} }
   
Loading
@@ -73,7 +73,7 @@ class GroupActivity : BaseActivity() {
Loading
@@ -73,7 +73,7 @@ class GroupActivity : BaseActivity() {
toolbar.setNavigationOnClickListener { onBackPressed() } toolbar.setNavigationOnClickListener { onBackPressed() }
   
if (intent.hasExtra(KEY_GROUP)) { if (intent.hasExtra(KEY_GROUP)) {
val group = Parcels.unwrap<Group>(intent.getParcelableExtra<Parcelable>(KEY_GROUP)) val group = intent.getParcelerParcelable<Group>(KEY_GROUP)!!
bind(group) bind(group)
} else { } else {
progress.visibility = View.VISIBLE progress.visibility = View.VISIBLE
Loading
Loading
Loading
@@ -91,6 +91,14 @@ class GroupsActivity : BaseActivity() {
Loading
@@ -91,6 +91,14 @@ class GroupsActivity : BaseActivity() {
load() load()
} }
   
override fun onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START)
} else {
super.onBackPressed()
}
}
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
App.bus().unregister(this) App.bus().unregister(this)
Loading
Loading
Loading
@@ -5,7 +5,6 @@ import android.content.Context
Loading
@@ -5,7 +5,6 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable
import android.support.design.widget.Snackbar import android.support.design.widget.Snackbar
import android.support.v4.widget.SwipeRefreshLayout import android.support.v4.widget.SwipeRefreshLayout
import android.support.v7.widget.LinearLayoutManager import android.support.v7.widget.LinearLayoutManager
Loading
@@ -24,6 +23,8 @@ import com.commit451.gitlab.R
Loading
@@ -24,6 +23,8 @@ import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.IssueDetailsAdapter import com.commit451.gitlab.adapter.IssueDetailsAdapter
import com.commit451.gitlab.event.IssueChangedEvent import com.commit451.gitlab.event.IssueChangedEvent
import com.commit451.gitlab.event.IssueReloadEvent import com.commit451.gitlab.event.IssueReloadEvent
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.FileUploadResponse import com.commit451.gitlab.model.api.FileUploadResponse
import com.commit451.gitlab.model.api.Issue import com.commit451.gitlab.model.api.Issue
Loading
@@ -40,7 +41,6 @@ import io.reactivex.Single
Loading
@@ -40,7 +41,6 @@ import io.reactivex.Single
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.parceler.Parcels
import retrofit2.Response import retrofit2.Response
import timber.log.Timber import timber.log.Timber
   
Loading
@@ -61,8 +61,8 @@ class IssueActivity : BaseActivity() {
Loading
@@ -61,8 +61,8 @@ class IssueActivity : BaseActivity() {
   
fun newIntent(context: Context, project: Project, issue: Issue): Intent { fun newIntent(context: Context, project: Project, issue: Issue): Intent {
val intent = Intent(context, IssueActivity::class.java) val intent = Intent(context, IssueActivity::class.java)
intent.putExtra(EXTRA_PROJECT, Parcels.wrap(project)) intent.putParcelParcelableExtra(EXTRA_PROJECT, project)
intent.putExtra(EXTRA_SELECTED_ISSUE, Parcels.wrap(issue)) intent.putParcelParcelableExtra(EXTRA_SELECTED_ISSUE, issue)
return intent return intent
} }
   
Loading
@@ -82,6 +82,8 @@ class IssueActivity : BaseActivity() {
Loading
@@ -82,6 +82,8 @@ class IssueActivity : BaseActivity() {
@BindView(R.id.list) lateinit var listNotes: RecyclerView @BindView(R.id.list) lateinit var listNotes: RecyclerView
@BindView(R.id.send_message_view) lateinit var sendMessageView: SendMessageView @BindView(R.id.send_message_view) lateinit var sendMessageView: SendMessageView
@BindView(R.id.progress) lateinit var progress: View @BindView(R.id.progress) lateinit var progress: View
@BindView(R.id.toolbar_title) lateinit var toolbarTitle: TextView
@BindView(R.id.toolbar_subtitle) lateinit var toolbarSubTitle: TextView
   
lateinit var menuItemOpenClose: MenuItem lateinit var menuItemOpenClose: MenuItem
lateinit var adapterIssueDetails: IssueDetailsAdapter lateinit var adapterIssueDetails: IssueDetailsAdapter
Loading
@@ -177,8 +179,8 @@ class IssueActivity : BaseActivity() {
Loading
@@ -177,8 +179,8 @@ class IssueActivity : BaseActivity() {
swipeRefreshLayout.setOnRefreshListener { loadNotes() } swipeRefreshLayout.setOnRefreshListener { loadNotes() }
   
if (intent.hasExtra(EXTRA_SELECTED_ISSUE)) { if (intent.hasExtra(EXTRA_SELECTED_ISSUE)) {
project = Parcels.unwrap<Project>(intent.getParcelableExtra<Parcelable>(EXTRA_PROJECT)) project = intent.getParcelerParcelable<Project>(EXTRA_PROJECT)
issue = Parcels.unwrap<Issue>(intent.getParcelableExtra<Parcelable>(EXTRA_SELECTED_ISSUE)) issue = intent.getParcelerParcelable<Issue>(EXTRA_SELECTED_ISSUE)
adapterIssueDetails = IssueDetailsAdapter(this@IssueActivity, issue, project!!) adapterIssueDetails = IssueDetailsAdapter(this@IssueActivity, issue, project!!)
listNotes.adapter = adapterIssueDetails listNotes.adapter = adapterIssueDetails
bindIssue() bindIssue()
Loading
@@ -227,14 +229,15 @@ class IssueActivity : BaseActivity() {
Loading
@@ -227,14 +229,15 @@ class IssueActivity : BaseActivity() {
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data) super.onActivityResult(requestCode, resultCode, data)
when (requestCode) { when (requestCode) {
REQUEST_ATTACH -> if (resultCode == Activity.RESULT_OK) { REQUEST_ATTACH ->
val response = Parcels.unwrap<FileUploadResponse>(data?.getParcelableExtra<Parcelable>(AttachActivity.KEY_FILE_UPLOAD_RESPONSE)) if (resultCode == Activity.RESULT_OK) {
progress.visibility = View.GONE val response = data?.getParcelerParcelable<FileUploadResponse>(AttachActivity.KEY_FILE_UPLOAD_RESPONSE)!!
sendMessageView.appendText(response.markdown) progress.visibility = View.GONE
} else { sendMessageView.appendText(response.markdown)
Snackbar.make(root, R.string.failed_to_upload_file, Snackbar.LENGTH_LONG) } else {
.show() Snackbar.make(root, R.string.failed_to_upload_file, Snackbar.LENGTH_LONG)
} .show()
}
} }
} }
   
Loading
@@ -244,13 +247,16 @@ class IssueActivity : BaseActivity() {
Loading
@@ -244,13 +247,16 @@ class IssueActivity : BaseActivity() {
} }
   
fun bindProject() { fun bindProject() {
toolbar.subtitle = project?.nameWithNamespace toolbarSubTitle.text = project?.nameWithNamespace
} }
   
fun bindIssue() { fun bindIssue() {
toolbar.title = getString(R.string.issue_number) + issue?.iid
setOpenCloseMenuStatus() setOpenCloseMenuStatus()
textTitle.text = issue?.title textTitle.text = issue?.title
toolbarTitle.text = getString(R.string.issue_number, issue?.iid)
if (issue?.isConfidential!!) {
toolbarTitle.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_confidential_24dp, 0)
}
adapterIssueDetails.updateIssue(issue!!) adapterIssueDetails.updateIssue(issue!!)
} }
   
Loading
Loading
Loading
@@ -382,7 +382,7 @@ class LoginActivity : BaseActivity() {
Loading
@@ -382,7 +382,7 @@ class LoginActivity : BaseActivity() {
val d = AlertDialog.Builder(this) val d = AlertDialog.Builder(this)
.setTitle(R.string.certificate_title) .setTitle(R.string.certificate_title)
.setMessage(String.format(resources.getString(R.string.certificate_message), finalFingerprint)) .setMessage(String.format(resources.getString(R.string.certificate_message), finalFingerprint))
.setPositiveButton(R.string.ok_button) { dialog, which -> .setPositiveButton(R.string.ok_button) { dialog, _ ->
if (finalFingerprint != null) { if (finalFingerprint != null) {
account.trustedCertificate = finalFingerprint account.trustedCertificate = finalFingerprint
login() login()
Loading
@@ -390,7 +390,7 @@ class LoginActivity : BaseActivity() {
Loading
@@ -390,7 +390,7 @@ class LoginActivity : BaseActivity() {
   
dialog.dismiss() dialog.dismiss()
} }
.setNegativeButton(R.string.cancel_button) { dialog, which -> dialog.dismiss() } .setNegativeButton(R.string.cancel_button) { dialog, _ -> dialog.dismiss() }
.show() .show()
   
(d.findViewById(android.R.id.message) as TextView).movementMethod = LinkMovementMethod.getInstance() (d.findViewById(android.R.id.message) as TextView).movementMethod = LinkMovementMethod.getInstance()
Loading
@@ -400,7 +400,7 @@ class LoginActivity : BaseActivity() {
Loading
@@ -400,7 +400,7 @@ class LoginActivity : BaseActivity() {
val d = AlertDialog.Builder(this) val d = AlertDialog.Builder(this)
.setTitle(R.string.hostname_title) .setTitle(R.string.hostname_title)
.setMessage(R.string.hostname_message) .setMessage(R.string.hostname_message)
.setPositiveButton(R.string.ok_button) { dialog, which -> .setPositiveButton(R.string.ok_button) { dialog, _ ->
if (finalHostname != null) { if (finalHostname != null) {
account.trustedHostname = finalHostname account.trustedHostname = finalHostname
login() login()
Loading
@@ -408,7 +408,7 @@ class LoginActivity : BaseActivity() {
Loading
@@ -408,7 +408,7 @@ class LoginActivity : BaseActivity() {
   
dialog.dismiss() dialog.dismiss()
} }
.setNegativeButton(R.string.cancel_button) { dialog, which -> dialog.dismiss() } .setNegativeButton(R.string.cancel_button) { dialog, _ -> dialog.dismiss() }
.show() .show()
   
(d.findViewById(android.R.id.message) as TextView).movementMethod = LinkMovementMethod.getInstance() (d.findViewById(android.R.id.message) as TextView).movementMethod = LinkMovementMethod.getInstance()
Loading
@@ -434,7 +434,7 @@ class LoginActivity : BaseActivity() {
Loading
@@ -434,7 +434,7 @@ class LoginActivity : BaseActivity() {
} }
var errorMessage = getString(R.string.login_unauthorized) var errorMessage = getString(R.string.login_unauthorized)
try { try {
val message = LoganSquare.parse(response.errorBody().byteStream(), Message::class.java) val message = LoganSquare.parse(response.errorBody()!!.byteStream(), Message::class.java)
if (message != null && message.message != null) { if (message != null && message.message != null) {
errorMessage = message.message errorMessage = message.message
} }
Loading
@@ -457,7 +457,7 @@ class LoginActivity : BaseActivity() {
Loading
@@ -457,7 +457,7 @@ class LoginActivity : BaseActivity() {
} }
   
fun handleBasicAuthentication(response: Response<*>) { fun handleBasicAuthentication(response: Response<*>) {
val header = response.headers().get("WWW-Authenticate").trim { it <= ' ' } val header = response.headers().get("WWW-Authenticate")!!.trim { it <= ' ' }
if (!header.startsWith("Basic")) { if (!header.startsWith("Basic")) {
Snackbar.make(root, getString(R.string.login_unsupported_authentication), Snackbar.LENGTH_LONG) Snackbar.make(root, getString(R.string.login_unsupported_authentication), Snackbar.LENGTH_LONG)
.show() .show()
Loading
Loading
Loading
@@ -3,7 +3,6 @@ package com.commit451.gitlab.activity
Loading
@@ -3,7 +3,6 @@ package com.commit451.gitlab.activity
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable
import android.support.design.widget.Snackbar import android.support.design.widget.Snackbar
import android.support.design.widget.TabLayout import android.support.design.widget.TabLayout
import android.support.v4.view.ViewPager import android.support.v4.view.ViewPager
Loading
@@ -16,11 +15,12 @@ import com.commit451.gitlab.App
Loading
@@ -16,11 +15,12 @@ import com.commit451.gitlab.App
import com.commit451.gitlab.R import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.MergeRequestSectionsPagerAdapter import com.commit451.gitlab.adapter.MergeRequestSectionsPagerAdapter
import com.commit451.gitlab.event.MergeRequestChangedEvent 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.extension.setup
import com.commit451.gitlab.model.api.MergeRequest import com.commit451.gitlab.model.api.MergeRequest
import com.commit451.gitlab.model.api.Project import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.rx.CustomResponseSingleObserver import com.commit451.gitlab.rx.CustomResponseSingleObserver
import org.parceler.Parcels
import retrofit2.HttpException import retrofit2.HttpException
import timber.log.Timber import timber.log.Timber
   
Loading
@@ -36,8 +36,8 @@ class MergeRequestActivity : BaseActivity() {
Loading
@@ -36,8 +36,8 @@ class MergeRequestActivity : BaseActivity() {
   
fun newIntent(context: Context, project: Project, mergeRequest: MergeRequest): Intent { fun newIntent(context: Context, project: Project, mergeRequest: MergeRequest): Intent {
val intent = Intent(context, MergeRequestActivity::class.java) val intent = Intent(context, MergeRequestActivity::class.java)
intent.putExtra(KEY_PROJECT, Parcels.wrap(project)) intent.putParcelParcelableExtra(KEY_PROJECT, project)
intent.putExtra(KEY_MERGE_REQUEST, Parcels.wrap(mergeRequest)) intent.putParcelParcelableExtra(KEY_MERGE_REQUEST, mergeRequest)
return intent return intent
} }
} }
Loading
@@ -56,8 +56,8 @@ class MergeRequestActivity : BaseActivity() {
Loading
@@ -56,8 +56,8 @@ class MergeRequestActivity : BaseActivity() {
setContentView(R.layout.activity_merge_request) setContentView(R.layout.activity_merge_request)
ButterKnife.bind(this) ButterKnife.bind(this)
   
project = Parcels.unwrap<Project>(intent.getParcelableExtra<Parcelable>(KEY_PROJECT)) project = intent.getParcelerParcelable<Project>(KEY_PROJECT)!!
mergeRequest = Parcels.unwrap<MergeRequest>(intent.getParcelableExtra<Parcelable>(KEY_MERGE_REQUEST)) mergeRequest = intent.getParcelerParcelable<MergeRequest>(KEY_MERGE_REQUEST)!!
   
toolbar.title = getString(R.string.merge_request_number) + mergeRequest.iid toolbar.title = getString(R.string.merge_request_number) + mergeRequest.iid
toolbar.setNavigationIcon(R.drawable.ic_back_24dp) toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
Loading
Loading
Loading
@@ -5,7 +5,6 @@ import android.content.Context
Loading
@@ -5,7 +5,6 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable
import android.support.design.widget.Snackbar import android.support.design.widget.Snackbar
import android.support.v4.widget.SwipeRefreshLayout import android.support.v4.widget.SwipeRefreshLayout
import android.support.v7.widget.LinearLayoutManager import android.support.v7.widget.LinearLayoutManager
Loading
@@ -22,6 +21,8 @@ import com.commit451.gitlab.R
Loading
@@ -22,6 +21,8 @@ import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.DividerItemDecoration import com.commit451.gitlab.adapter.DividerItemDecoration
import com.commit451.gitlab.adapter.MilestoneIssueAdapter import com.commit451.gitlab.adapter.MilestoneIssueAdapter
import com.commit451.gitlab.event.MilestoneChangedEvent import com.commit451.gitlab.event.MilestoneChangedEvent
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Issue import com.commit451.gitlab.model.api.Issue
import com.commit451.gitlab.model.api.Milestone import com.commit451.gitlab.model.api.Milestone
Loading
@@ -32,7 +33,6 @@ import com.commit451.gitlab.rx.CustomSingleObserver
Loading
@@ -32,7 +33,6 @@ import com.commit451.gitlab.rx.CustomSingleObserver
import com.commit451.gitlab.util.LinkHeaderParser import com.commit451.gitlab.util.LinkHeaderParser
import io.reactivex.Single import io.reactivex.Single
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.parceler.Parcels
import timber.log.Timber import timber.log.Timber
   
class MilestoneActivity : BaseActivity() { class MilestoneActivity : BaseActivity() {
Loading
@@ -44,8 +44,8 @@ class MilestoneActivity : BaseActivity() {
Loading
@@ -44,8 +44,8 @@ class MilestoneActivity : BaseActivity() {
   
fun newIntent(context: Context, project: Project, milestone: Milestone): Intent { fun newIntent(context: Context, project: Project, milestone: Milestone): Intent {
val intent = Intent(context, MilestoneActivity::class.java) val intent = Intent(context, MilestoneActivity::class.java)
intent.putExtra(EXTRA_PROJECT, Parcels.wrap(project)) intent.putParcelParcelableExtra(EXTRA_PROJECT, project)
intent.putExtra(EXTRA_MILESTONE, Parcels.wrap(milestone)) intent.putParcelParcelableExtra(EXTRA_MILESTONE, milestone)
return intent return intent
} }
} }
Loading
@@ -94,8 +94,8 @@ class MilestoneActivity : BaseActivity() {
Loading
@@ -94,8 +94,8 @@ class MilestoneActivity : BaseActivity() {
ButterKnife.bind(this) ButterKnife.bind(this)
App.bus().register(this) App.bus().register(this)
   
project = Parcels.unwrap<Project>(intent.getParcelableExtra<Parcelable>(EXTRA_PROJECT)) project = intent.getParcelerParcelable<Project>(EXTRA_PROJECT)!!
milestone = Parcels.unwrap<Milestone>(intent.getParcelableExtra<Parcelable>(EXTRA_MILESTONE)) milestone = intent.getParcelerParcelable<Milestone>(EXTRA_MILESTONE)!!
   
toolbar.setNavigationIcon(R.drawable.ic_back_24dp) toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { onBackPressed() } toolbar.setNavigationOnClickListener { onBackPressed() }
Loading
Loading
Loading
@@ -6,7 +6,7 @@ import com.commit451.morphtransitions.FabTransform
Loading
@@ -6,7 +6,7 @@ import com.commit451.morphtransitions.FabTransform
   
/** /**
* Activity that morphs from a FAB. Make sure the view you want to morph has the view id R.id.root and * Activity that morphs from a FAB. Make sure the view you want to morph has the view id R.id.root and
* call [.morph] when the content view is set * call [.morph] when the content view is set. Does nothing if not on 21+
*/ */
open class MorphActivity : BaseActivity() { open class MorphActivity : BaseActivity() {
   
Loading
@@ -14,7 +14,9 @@ open class MorphActivity : BaseActivity() {
Loading
@@ -14,7 +14,9 @@ open class MorphActivity : BaseActivity() {
if (root == null) { if (root == null) {
throw IllegalStateException("Cannot pass an empty view") throw IllegalStateException("Cannot pass an empty view")
} }
FabTransform.setup(this, root) if (Build.VERSION.SDK_INT >= 21) {
FabTransform.setup(this, root)
}
} }
   
override fun onBackPressed() { override fun onBackPressed() {
Loading
Loading
Loading
@@ -3,7 +3,6 @@ package com.commit451.gitlab.activity
Loading
@@ -3,7 +3,6 @@ package com.commit451.gitlab.activity
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable
import android.support.design.widget.TabLayout import android.support.design.widget.TabLayout
import android.support.v4.view.ViewPager import android.support.v4.view.ViewPager
import android.support.v7.app.AppCompatActivity import android.support.v7.app.AppCompatActivity
Loading
@@ -12,8 +11,9 @@ import butterknife.ButterKnife
Loading
@@ -12,8 +11,9 @@ import butterknife.ButterKnife
import butterknife.OnClick import butterknife.OnClick
import com.commit451.gitlab.R import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.PickBranchOrTagPagerAdapter import com.commit451.gitlab.adapter.PickBranchOrTagPagerAdapter
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.model.Ref import com.commit451.gitlab.model.Ref
import org.parceler.Parcels
   
   
/** /**
Loading
@@ -31,7 +31,7 @@ class PickBranchOrTagActivity : AppCompatActivity() {
Loading
@@ -31,7 +31,7 @@ class PickBranchOrTagActivity : AppCompatActivity() {
fun newIntent(context: Context, projectId: Long, currentRef: Ref?): Intent { fun newIntent(context: Context, projectId: Long, currentRef: Ref?): Intent {
val intent = Intent(context, PickBranchOrTagActivity::class.java) val intent = Intent(context, PickBranchOrTagActivity::class.java)
intent.putExtra(EXTRA_PROJECT_ID, projectId) intent.putExtra(EXTRA_PROJECT_ID, projectId)
intent.putExtra(EXTRA_CURRENT_REF, Parcels.wrap<Ref>(currentRef)) intent.putParcelParcelableExtra(EXTRA_CURRENT_REF, currentRef)
return intent return intent
} }
} }
Loading
@@ -49,7 +49,7 @@ class PickBranchOrTagActivity : AppCompatActivity() {
Loading
@@ -49,7 +49,7 @@ class PickBranchOrTagActivity : AppCompatActivity() {
setContentView(R.layout.activity_pick_branch_or_tag) setContentView(R.layout.activity_pick_branch_or_tag)
ButterKnife.bind(this) ButterKnife.bind(this)
val projectId = intent.getLongExtra(EXTRA_PROJECT_ID, -1) val projectId = intent.getLongExtra(EXTRA_PROJECT_ID, -1)
val currentRef = Parcels.unwrap<Ref>(intent.getParcelableExtra<Parcelable>(EXTRA_CURRENT_REF)) val currentRef = intent.getParcelerParcelable<Ref>(EXTRA_CURRENT_REF)
viewPager.adapter = PickBranchOrTagPagerAdapter(this, supportFragmentManager, projectId, currentRef) viewPager.adapter = PickBranchOrTagPagerAdapter(this, supportFragmentManager, projectId, currentRef)
tabLayout.setupWithViewPager(viewPager) tabLayout.setupWithViewPager(viewPager)
if (currentRef != null) { if (currentRef != null) {
Loading
Loading
package com.commit451.gitlab.activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.design.widget.TabLayout
import android.support.v4.view.ViewPager
import android.support.v7.widget.Toolbar
import android.view.View
import android.view.ViewGroup
import butterknife.BindView
import butterknife.ButterKnife
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.adapter.PipelineSectionsPagerAdapter
import com.commit451.gitlab.event.PipelineChangedEvent
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.model.api.Pipeline
import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.rx.CustomSingleObserver
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import timber.log.Timber
/**
* Shows the details of a pipeline
*/
class PipelineActivity : BaseActivity() {
companion object {
private val REQUEST_PERMISSION_WRITE_STORAGE = 1337
private val KEY_PROJECT = "key_project"
private val KEY_PIPELINE = "key_merge_request"
fun newIntent(context: Context, project: Project, pipeline: Pipeline): Intent {
val intent = Intent(context, PipelineActivity::class.java)
intent.putParcelParcelableExtra(KEY_PROJECT, project)
intent.putParcelParcelableExtra(KEY_PIPELINE, pipeline)
return intent
}
}
@BindView(R.id.root) lateinit var root: ViewGroup
@BindView(R.id.toolbar) lateinit var toolbar: Toolbar
@BindView(R.id.tabs) lateinit var tabLayout: TabLayout
@BindView(R.id.pager) lateinit var viewPager: ViewPager
@BindView(R.id.progress) lateinit var progress: View
lateinit var project: Project
lateinit var pipeline: Pipeline
private val onMenuItemClickListener = Toolbar.OnMenuItemClickListener { item ->
when (item.itemId) {
R.id.action_retry -> {
progress.visibility = View.VISIBLE
App.get().gitLab.retryPipeline(project.id, pipeline.id)
.compose(this@PipelineActivity.bindToLifecycle<Pipeline>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : CustomSingleObserver<Pipeline>() {
override fun error(t: Throwable) {
Timber.e(t)
progress.visibility = View.GONE
Snackbar.make(root, R.string.unable_to_retry_pipeline, Snackbar.LENGTH_LONG)
.show()
}
override fun success(pipeline: Pipeline) {
progress.visibility = View.GONE
Snackbar.make(root, R.string.pipeline_started, Snackbar.LENGTH_LONG)
.show()
App.bus().post(PipelineChangedEvent(pipeline))
}
})
return@OnMenuItemClickListener true
}
R.id.action_cancel -> {
progress.visibility = View.VISIBLE
App.get().gitLab.cancelPipeline(project.id, pipeline.id)
.compose(this@PipelineActivity.bindToLifecycle<Pipeline>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : CustomSingleObserver<Pipeline>() {
override fun error(t: Throwable) {
Timber.e(t)
progress.visibility = View.GONE
Snackbar.make(root, R.string.unable_to_cancel_pipeline, Snackbar.LENGTH_LONG)
.show()
}
override fun success(pipeline: Pipeline) {
progress.visibility = View.GONE
Snackbar.make(root, R.string.pipeline_canceled, Snackbar.LENGTH_LONG)
.show()
App.bus().post(PipelineChangedEvent(pipeline))
}
})
return@OnMenuItemClickListener true
}
}
false
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_pipeline)
ButterKnife.bind(this)
project = intent.getParcelerParcelable<Project>(KEY_PROJECT)!!
pipeline = intent.getParcelerParcelable<Pipeline>(KEY_PIPELINE)!!
toolbar.title = String.format(getString(R.string.pipeline_number), pipeline.id)
toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { onBackPressed() }
toolbar.subtitle = project.nameWithNamespace
toolbar.inflateMenu(R.menu.retry)
toolbar.inflateMenu(R.menu.cancel)
toolbar.setOnMenuItemClickListener(onMenuItemClickListener)
setupTabs()
}
private fun setupTabs() {
val sectionsPagerAdapter = PipelineSectionsPagerAdapter(
this,
supportFragmentManager,
project,
pipeline)
viewPager.adapter = sectionsPagerAdapter
tabLayout.setupWithViewPager(viewPager)
}
}
Loading
@@ -6,7 +6,6 @@ import android.content.ClipboardManager
Loading
@@ -6,7 +6,6 @@ import android.content.ClipboardManager
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable
import android.support.design.widget.Snackbar import android.support.design.widget.Snackbar
import android.support.design.widget.TabLayout import android.support.design.widget.TabLayout
import android.support.v4.view.ViewPager import android.support.v4.view.ViewPager
Loading
@@ -23,6 +22,7 @@ import com.commit451.gitlab.adapter.ProjectSectionsPagerAdapter
Loading
@@ -23,6 +22,7 @@ import com.commit451.gitlab.adapter.ProjectSectionsPagerAdapter
import com.commit451.gitlab.data.Prefs import com.commit451.gitlab.data.Prefs
import com.commit451.gitlab.event.ProjectReloadEvent import com.commit451.gitlab.event.ProjectReloadEvent
import com.commit451.gitlab.extension.getParcelerParcelable import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.extension.setup import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.fragment.BaseFragment import com.commit451.gitlab.fragment.BaseFragment
import com.commit451.gitlab.model.Ref import com.commit451.gitlab.model.Ref
Loading
@@ -31,7 +31,6 @@ import com.commit451.gitlab.navigation.Navigator
Loading
@@ -31,7 +31,6 @@ import com.commit451.gitlab.navigation.Navigator
import com.commit451.gitlab.rx.CustomSingleObserver import com.commit451.gitlab.rx.CustomSingleObserver
import com.commit451.gitlab.util.IntentUtil import com.commit451.gitlab.util.IntentUtil
import io.reactivex.Single import io.reactivex.Single
import org.parceler.Parcels
import timber.log.Timber import timber.log.Timber
   
class ProjectActivity : BaseActivity() { class ProjectActivity : BaseActivity() {
Loading
@@ -50,7 +49,7 @@ class ProjectActivity : BaseActivity() {
Loading
@@ -50,7 +49,7 @@ class ProjectActivity : BaseActivity() {
   
fun newIntent(context: Context, project: Project): Intent { fun newIntent(context: Context, project: Project): Intent {
val intent = Intent(context, ProjectActivity::class.java) val intent = Intent(context, ProjectActivity::class.java)
intent.putExtra(EXTRA_PROJECT, Parcels.wrap(project)) intent.putParcelParcelableExtra(EXTRA_PROJECT, project)
return intent return intent
} }
   
Loading
@@ -123,8 +122,8 @@ class ProjectActivity : BaseActivity() {
Loading
@@ -123,8 +122,8 @@ class ProjectActivity : BaseActivity() {
var project: Project? = intent.getParcelerParcelable(EXTRA_PROJECT) var project: Project? = intent.getParcelerParcelable(EXTRA_PROJECT)
   
if (savedInstanceState != null) { if (savedInstanceState != null) {
project = Parcels.unwrap<Project>(savedInstanceState.getParcelable<Parcelable>(STATE_PROJECT)) project = savedInstanceState.getParcelerParcelable<Project>(STATE_PROJECT)
ref = Parcels.unwrap<Ref>(savedInstanceState.getParcelable<Parcelable>(STATE_REF)) ref = savedInstanceState.getParcelerParcelable<Ref>(STATE_REF)
} }
toolbar.setNavigationIcon(R.drawable.ic_back_24dp) toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { finish() } toolbar.setNavigationOnClickListener { finish() }
Loading
@@ -151,7 +150,7 @@ class ProjectActivity : BaseActivity() {
Loading
@@ -151,7 +150,7 @@ class ProjectActivity : BaseActivity() {
super.onActivityResult(requestCode, resultCode, data) super.onActivityResult(requestCode, resultCode, data)
when (requestCode) { when (requestCode) {
REQUEST_BRANCH_OR_TAG -> if (resultCode == Activity.RESULT_OK) { REQUEST_BRANCH_OR_TAG -> if (resultCode == Activity.RESULT_OK) {
ref = Parcels.unwrap<Ref>(data?.getParcelableExtra<Parcelable>(PickBranchOrTagActivity.EXTRA_REF)) ref = data?.getParcelerParcelable<Ref>(PickBranchOrTagActivity.EXTRA_REF)
broadcastLoad() broadcastLoad()
} }
} }
Loading
@@ -159,8 +158,8 @@ class ProjectActivity : BaseActivity() {
Loading
@@ -159,8 +158,8 @@ class ProjectActivity : BaseActivity() {
   
override fun onSaveInstanceState(outState: Bundle) { override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState) super.onSaveInstanceState(outState)
outState.putParcelable(STATE_REF, Parcels.wrap<Ref>(ref)) outState.putParcelParcelableExtra(STATE_REF, ref)
outState.putParcelable(STATE_PROJECT, Parcels.wrap<Project>(project)) outState.putParcelParcelableExtra(STATE_PROJECT, project)
} }
   
override fun onBackPressed() { override fun onBackPressed() {
Loading
Loading
Loading
@@ -66,6 +66,14 @@ class ProjectsActivity : BaseActivity() {
Loading
@@ -66,6 +66,14 @@ class ProjectsActivity : BaseActivity() {
App.bus().unregister(this) App.bus().unregister(this)
} }
   
override fun onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START)
} else {
super.onBackPressed()
}
}
@Subscribe @Subscribe
fun onEvent(event: CloseDrawerEvent) { fun onEvent(event: CloseDrawerEvent) {
drawerLayout.closeDrawers() drawerLayout.closeDrawers()
Loading
Loading
Loading
@@ -4,7 +4,6 @@ import android.content.Intent
Loading
@@ -4,7 +4,6 @@ import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.widget.Toast import android.widget.Toast
import com.commit451.gitlab.App
import com.commit451.gitlab.R import com.commit451.gitlab.R
import com.commit451.gitlab.model.Account import com.commit451.gitlab.model.Account
import com.commit451.gitlab.navigation.DeepLinker import com.commit451.gitlab.navigation.DeepLinker
Loading
@@ -98,7 +97,7 @@ class RoutingActivity : BaseActivity() {
Loading
@@ -98,7 +97,7 @@ class RoutingActivity : BaseActivity() {
   
//okay so last thing, if the user has followed a link, but the user //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 //is not actually signed in, we want to direct them to signin
if (App.get().getAccount() == null && Account.getAccounts().isEmpty()) { if (Account.getAccounts().isEmpty()) {
Navigator.navigateToLogin(this) Navigator.navigateToLogin(this)
finish() finish()
return return
Loading
Loading
Loading
@@ -49,6 +49,14 @@ class TodosActivity : BaseActivity() {
Loading
@@ -49,6 +49,14 @@ class TodosActivity : BaseActivity() {
tabLayout.setupWithViewPager(viewPager) tabLayout.setupWithViewPager(viewPager)
} }
   
override fun onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START)
} else {
super.onBackPressed()
}
}
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
App.bus().unregister(this) App.bus().unregister(this)
Loading
Loading
Loading
@@ -7,7 +7,6 @@ import android.content.Intent
Loading
@@ -7,7 +7,6 @@ import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable
import android.support.design.widget.CollapsingToolbarLayout import android.support.design.widget.CollapsingToolbarLayout
import android.support.v7.graphics.Palette import android.support.v7.graphics.Palette
import android.support.v7.widget.Toolbar import android.support.v7.widget.Toolbar
Loading
@@ -18,11 +17,12 @@ import com.commit451.alakazam.Alakazam
Loading
@@ -18,11 +17,12 @@ import com.commit451.alakazam.Alakazam
import com.commit451.easel.Easel import com.commit451.easel.Easel
import com.commit451.gitlab.App import com.commit451.gitlab.App
import com.commit451.gitlab.R import com.commit451.gitlab.R
import com.commit451.gitlab.extension.getParcelerParcelable
import com.commit451.gitlab.extension.putParcelParcelableExtra
import com.commit451.gitlab.fragment.FeedFragment import com.commit451.gitlab.fragment.FeedFragment
import com.commit451.gitlab.model.api.UserBasic import com.commit451.gitlab.model.api.UserBasic
import com.commit451.gitlab.transformation.PaletteTransformation import com.commit451.gitlab.transformation.PaletteTransformation
import com.commit451.gitlab.util.ImageUtil import com.commit451.gitlab.util.ImageUtil
import org.parceler.Parcels
   
/** /**
* User activity, which shows the user! * User activity, which shows the user!
Loading
@@ -35,7 +35,7 @@ class UserActivity : BaseActivity() {
Loading
@@ -35,7 +35,7 @@ class UserActivity : BaseActivity() {
   
fun newIntent(context: Context, user: UserBasic): Intent { fun newIntent(context: Context, user: UserBasic): Intent {
val intent = Intent(context, UserActivity::class.java) val intent = Intent(context, UserActivity::class.java)
intent.putExtra(KEY_USER, Parcels.wrap(user)) intent.putParcelParcelableExtra(KEY_USER, user)
return intent return intent
} }
} }
Loading
@@ -50,7 +50,7 @@ class UserActivity : BaseActivity() {
Loading
@@ -50,7 +50,7 @@ class UserActivity : BaseActivity() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_user) setContentView(R.layout.activity_user)
ButterKnife.bind(this) ButterKnife.bind(this)
user = Parcels.unwrap<UserBasic>(intent.getParcelableExtra<Parcelable>(KEY_USER)) user = intent.getParcelerParcelable<UserBasic>(KEY_USER)!!
   
// Default content and scrim colors // Default content and scrim colors
collapsingToolbarLayout.setCollapsedTitleTextColor(Color.WHITE) collapsingToolbarLayout.setCollapsedTitleTextColor(Color.WHITE)
Loading
Loading
Loading
@@ -47,6 +47,10 @@ class WebLoginActivity : BaseActivity() {
Loading
@@ -47,6 +47,10 @@ class WebLoginActivity : BaseActivity() {
   
lateinit var url: String lateinit var url: String
   
val isExtracting: Boolean by lazy {
intent.getBooleanExtra(KEY_EXTRACTING_PRIVATE_TOKEN, false)
}
val webChromeClient = object : WebChromeClient() { val webChromeClient = object : WebChromeClient() {
override fun onProgressChanged(view: WebView, newProgress: Int) { override fun onProgressChanged(view: WebView, newProgress: Int) {
super.onProgressChanged(view, newProgress) super.onProgressChanged(view, newProgress)
Loading
@@ -83,25 +87,27 @@ class WebLoginActivity : BaseActivity() {
Loading
@@ -83,25 +87,27 @@ class WebLoginActivity : BaseActivity() {
webView.clearFormData() webView.clearFormData()
webView.clearHistory() webView.clearHistory()
   
clearCookies()
webView.loadUrl(url + "/users/sign_in")
}
@Suppress("DEPRECATION")
fun clearCookies() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
CookieManager.getInstance().removeAllCookies(null) CookieManager.getInstance().removeAllCookies(null)
CookieManager.getInstance().flush() CookieManager.getInstance().flush()
} else { } else {
val cookieSyncMngr = CookieSyncManager.createInstance(this) val cookieSyncManager = CookieSyncManager.createInstance(this)
cookieSyncMngr.startSync() cookieSyncManager.startSync()
val cookieManager = CookieManager.getInstance() val cookieManager = CookieManager.getInstance()
cookieManager.removeAllCookie() cookieManager.removeAllCookie()
cookieManager.removeSessionCookie() cookieManager.removeSessionCookie()
cookieSyncMngr.stopSync() cookieSyncManager.stopSync()
cookieSyncMngr.sync() cookieSyncManager.sync()
} }
webView.loadUrl(url + "/users/sign_in")
} }
   
val isExtracting: Boolean
get() = intent.getBooleanExtra(KEY_EXTRACTING_PRIVATE_TOKEN, false)
inner class ExtractionWebClient : WebViewClient() { inner class ExtractionWebClient : WebViewClient() {
override fun onPageFinished(view: WebView, url: String) { override fun onPageFinished(view: WebView, url: String) {
var modifiedUrl = url var modifiedUrl = url
Loading
Loading
Loading
@@ -28,7 +28,7 @@ class IssueAdapter(private val listener: IssueAdapter.Listener) : RecyclerView.A
Loading
@@ -28,7 +28,7 @@ class IssueAdapter(private val listener: IssueAdapter.Listener) : RecyclerView.A
when (viewType) { when (viewType) {
TYPE_ITEM -> { TYPE_ITEM -> {
val holder = IssueViewHolder.inflate(parent) val holder = IssueViewHolder.inflate(parent)
holder.itemView.setOnClickListener { v -> holder.itemView.setOnClickListener {
val position = holder.adapterPosition val position = holder.adapterPosition
listener.onIssueClicked(getValueAt(position)) listener.onIssueClicked(getValueAt(position))
} }
Loading
Loading
Loading
@@ -7,6 +7,7 @@ import android.view.ViewGroup
Loading
@@ -7,6 +7,7 @@ import android.view.ViewGroup
import com.commit451.gitlab.model.api.Issue import com.commit451.gitlab.model.api.Issue
import com.commit451.gitlab.model.api.Note import com.commit451.gitlab.model.api.Note
import com.commit451.gitlab.model.api.Project import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.util.BypassFactory
import com.commit451.gitlab.viewHolder.IssueHeaderViewHolder import com.commit451.gitlab.viewHolder.IssueHeaderViewHolder
import com.commit451.gitlab.viewHolder.IssueLabelsViewHolder import com.commit451.gitlab.viewHolder.IssueLabelsViewHolder
import com.commit451.gitlab.viewHolder.LoadingFooterViewHolder import com.commit451.gitlab.viewHolder.LoadingFooterViewHolder
Loading
@@ -31,7 +32,8 @@ class IssueDetailsAdapter(context: Context, private var issue: Issue?, private v
Loading
@@ -31,7 +32,8 @@ class IssueDetailsAdapter(context: Context, private var issue: Issue?, private v
   
private val notes: LinkedList<Note> = LinkedList() private val notes: LinkedList<Note> = LinkedList()
private var loading = false private var loading = false
private val bypass: Bypass = Bypass(context)
private val bypass: Bypass = BypassFactory.create(context, project)
   
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
if (viewType == TYPE_HEADER) { if (viewType == TYPE_HEADER) {
Loading
@@ -48,7 +50,7 @@ class IssueDetailsAdapter(context: Context, private var issue: Issue?, private v
Loading
@@ -48,7 +50,7 @@ class IssueDetailsAdapter(context: Context, private var issue: Issue?, private v
   
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
if (holder is IssueHeaderViewHolder) { if (holder is IssueHeaderViewHolder) {
holder.bind(issue!!, project) holder.bind(issue!!, bypass, project)
} else if (holder is IssueLabelsViewHolder) { } else if (holder is IssueLabelsViewHolder) {
holder.bind(issue!!.labels) holder.bind(issue!!.labels)
} else if (holder is NoteViewHolder) { } else if (holder is NoteViewHolder) {
Loading
Loading
Loading
@@ -7,6 +7,7 @@ import android.view.ViewGroup
Loading
@@ -7,6 +7,7 @@ import android.view.ViewGroup
import com.commit451.gitlab.model.api.MergeRequest import com.commit451.gitlab.model.api.MergeRequest
import com.commit451.gitlab.model.api.Note import com.commit451.gitlab.model.api.Note
import com.commit451.gitlab.model.api.Project import com.commit451.gitlab.model.api.Project
import com.commit451.gitlab.util.BypassFactory
import com.commit451.gitlab.viewHolder.LoadingFooterViewHolder import com.commit451.gitlab.viewHolder.LoadingFooterViewHolder
import com.commit451.gitlab.viewHolder.MergeRequestHeaderViewHolder import com.commit451.gitlab.viewHolder.MergeRequestHeaderViewHolder
import com.commit451.gitlab.viewHolder.NoteViewHolder import com.commit451.gitlab.viewHolder.NoteViewHolder
Loading
@@ -29,7 +30,8 @@ class MergeRequestDetailAdapter(context: Context, private val mergeRequest: Merg
Loading
@@ -29,7 +30,8 @@ class MergeRequestDetailAdapter(context: Context, private val mergeRequest: Merg
   
private val notes: LinkedList<Note> = LinkedList() private val notes: LinkedList<Note> = LinkedList()
private var loading = false private var loading = false
private val bypass: Bypass = Bypass(context)
private val bypass: Bypass = BypassFactory.create(context, project)
   
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
if (viewType == TYPE_HEADER) { if (viewType == TYPE_HEADER) {
Loading
Loading
package com.commit451.gitlab.adapter
import android.support.v7.widget.RecyclerView
import android.view.ViewGroup
import com.commit451.gitlab.model.api.Pipeline
import com.commit451.gitlab.viewHolder.PipelineViewHolder
import com.commit451.gitlab.viewHolder.LoadingFooterViewHolder
import java.util.*
/**
* Pipelines adapter
*/
class PipelineAdapter(private val listener: PipelineAdapter.Listener) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
companion object {
private val FOOTER_COUNT = 1
private val TYPE_ITEM = 0
private val TYPE_FOOTER = 1
}
private val values: ArrayList<Pipeline> = ArrayList()
private var loading = false
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
when (viewType) {
TYPE_ITEM -> {
val holder = PipelineViewHolder.inflate(parent)
holder.itemView.setOnClickListener {
val position = holder.adapterPosition
listener.onPipelinesClicked(getValueAt(position))
}
return holder
}
TYPE_FOOTER -> return LoadingFooterViewHolder.inflate(parent)
}
throw IllegalStateException("No holder for view type " + viewType)
}
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
if (holder is PipelineViewHolder) {
val pipeline = getValueAt(position)
holder.bind(pipeline)
} else if (holder is LoadingFooterViewHolder) {
holder.bind(loading)
} else {
throw IllegalStateException("What is this holder?")
}
}
override fun getItemCount(): Int {
return values.size + FOOTER_COUNT
}
override fun getItemViewType(position: Int): Int {
if (position == values.size) {
return TYPE_FOOTER
} else {
return TYPE_ITEM
}
}
fun setValues(values: Collection<Pipeline>?) {
this.values.clear()
addValues(values)
}
fun addValues(values: Collection<Pipeline>?) {
if (values != null) {
this.values.addAll(values)
}
notifyDataSetChanged()
}
fun updatePipeline(pipeline: Pipeline) {
val indexToModify = values.indices.firstOrNull { values[it].id == pipeline.id }
if (indexToModify != null) {
values.removeAt(indexToModify)
values.add(indexToModify, pipeline)
notifyItemChanged(indexToModify)
}
}
fun getValueAt(position: Int): Pipeline {
return values[position]
}
fun setLoading(loading: Boolean) {
this.loading = loading
notifyItemChanged(values.size)
}
interface Listener {
fun onPipelinesClicked(pipeline: Pipeline)
}
}