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

Don't show merge option if MR is merged or closed

parent a70d2d6e
No related branches found
No related tags found
No related merge requests found
Showing
with 94 additions and 54 deletions
Loading
Loading
@@ -44,6 +44,7 @@
android:name=".activity.TodosActivity"
android:launchMode="singleTask"
android:theme="@style/Activity.Todos" />
<activity android:name=".activity.ProjectActivity" />
 
<activity
Loading
Loading
Loading
Loading
@@ -136,9 +136,9 @@ class AddIssueActivity : MorphActivity() {
 
if (issue != null) {
bindIssue()
toolbar.inflateMenu(R.menu.menu_edit_milestone)
toolbar.inflateMenu(R.menu.edit)
} else {
toolbar.inflateMenu(R.menu.menu_add_milestone)
toolbar.inflateMenu(R.menu.create)
}
load()
}
Loading
Loading
Loading
Loading
@@ -68,7 +68,7 @@ class AddLabelActivity : BaseActivity() {
 
projectId = intent.getLongExtra(KEY_PROJECT_ID, -1)
toolbar.setTitle(labels)
toolbar.inflateMenu(R.menu.menu_add_label)
toolbar.inflateMenu(R.menu.create)
toolbar.setOnMenuItemClickListener(Toolbar.OnMenuItemClickListener { item ->
when (item.itemId) {
R.id.action_add_label -> {
Loading
Loading
Loading
Loading
@@ -104,9 +104,9 @@ class AddMilestoneActivity : MorphActivity() {
milestone = Parcels.unwrap<Milestone>(intent.getParcelableExtra<Parcelable>(KEY_MILESTONE))
if (milestone != null) {
bind(milestone!!)
toolbar.inflateMenu(R.menu.menu_edit_milestone)
toolbar.inflateMenu(R.menu.edit)
} else {
toolbar.inflateMenu(R.menu.menu_add_milestone)
toolbar.inflateMenu(R.menu.create)
}
toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { onBackPressed() }
Loading
Loading
Loading
Loading
@@ -80,7 +80,7 @@ class AddNewLabelActivity : BaseActivity(), ColorChooserDialog.ColorCallback {
toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { onBackPressed() }
 
toolbar.inflateMenu(R.menu.menu_add_new_label)
toolbar.inflateMenu(R.menu.create)
toolbar.setOnMenuItemClickListener(Toolbar.OnMenuItemClickListener { item ->
when (item.itemId) {
R.id.action_create -> {
Loading
Loading
Loading
Loading
@@ -165,7 +165,10 @@ class BuildActivity : BaseActivity() {
toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { onBackPressed() }
toolbar.subtitle = project.nameWithNamespace
toolbar.inflateMenu(R.menu.menu_build)
toolbar.inflateMenu(R.menu.retry)
toolbar.inflateMenu(R.menu.erase)
toolbar.inflateMenu(R.menu.cancel)
toolbar.inflateMenu(R.menu.download)
toolbar.setOnMenuItemClickListener(onMenuItemClickListener)
menuItemDownload = toolbar.menu.findItem(R.id.action_download)
menuItemDownload.isVisible = build.artifactsFile != null
Loading
Loading
Loading
Loading
@@ -162,7 +162,9 @@ class IssueActivity : BaseActivity() {
 
toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { onBackPressed() }
toolbar.inflateMenu(R.menu.menu_issue)
toolbar.inflateMenu(R.menu.share)
toolbar.inflateMenu(R.menu.close)
toolbar.inflateMenu(R.menu.delete)
menuItemOpenClose = toolbar.menu.findItem(R.id.action_close)
toolbar.setOnMenuItemClickListener(onMenuItemClickListener)
 
Loading
Loading
Loading
Loading
@@ -175,7 +175,7 @@ class LoginActivity : BaseActivity() {
teleprinter = Teleprinter(this)
val showClose = intent.getBooleanExtra(EXTRA_SHOW_CLOSE, false)
 
toolbar.inflateMenu(R.menu.menu_login)
toolbar.inflateMenu(R.menu.advanced_login)
toolbar.setOnMenuItemClickListener(Toolbar.OnMenuItemClickListener { item ->
when (item.itemId) {
R.id.action_advanced_login -> {
Loading
Loading
Loading
Loading
@@ -58,43 +58,6 @@ class MergeRequestActivity : BaseActivity() {
lateinit var project: Project
lateinit var mergeRequest: MergeRequest
 
val onMenuItemClickListener = Toolbar.OnMenuItemClickListener { item ->
when (item.itemId) {
R.id.action_merge -> {
progress.visibility = View.VISIBLE
App.get().gitLab.acceptMergeRequest(project.id, mergeRequest.id)
.compose(this@MergeRequestActivity.bindToLifecycle<Response<MergeRequest>>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : CustomResponseSingleObserver<MergeRequest>() {
override fun error(e: Throwable) {
Timber.e(e)
progress.visibility = View.GONE
var message = getString(R.string.unable_to_merge)
if (e is HttpException) {
val code = e.response().code()
if (code == 406) {
message = getString(R.string.merge_request_already_merged_or_closed)
}
}
Snackbar.make(root, message, Snackbar.LENGTH_LONG)
.show()
}
override fun responseSuccess(mergeRequest: MergeRequest) {
progress.visibility = View.GONE
Snackbar.make(root, R.string.merge_request_accepted, Snackbar.LENGTH_LONG)
.show()
App.bus().post(MergeRequestChangedEvent(mergeRequest))
}
})
return@OnMenuItemClickListener true
}
}
false
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_merge_request)
Loading
Loading
@@ -107,8 +70,18 @@ class MergeRequestActivity : BaseActivity() {
toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { onBackPressed() }
toolbar.subtitle = project.nameWithNamespace
toolbar.inflateMenu(R.menu.menu_merge_request)
toolbar.setOnMenuItemClickListener(onMenuItemClickListener)
if (mergeRequest.state == MergeRequest.STATE_OPENED) {
toolbar.inflateMenu(R.menu.merge)
}
toolbar.setOnMenuItemClickListener(Toolbar.OnMenuItemClickListener { item ->
when (item.itemId) {
R.id.action_merge -> {
merge()
return@OnMenuItemClickListener true
}
}
false
})
val sectionsPagerAdapter = MergeRequestSectionsPagerAdapter(
this,
supportFragmentManager,
Loading
Loading
@@ -118,4 +91,35 @@ class MergeRequestActivity : BaseActivity() {
viewPager.adapter = sectionsPagerAdapter
tabLayout.setupWithViewPager(viewPager)
}
fun merge() {
progress.visibility = View.VISIBLE
App.get().gitLab.acceptMergeRequest(project.id, mergeRequest.id)
.compose(this@MergeRequestActivity.bindToLifecycle<Response<MergeRequest>>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : CustomResponseSingleObserver<MergeRequest>() {
override fun error(e: Throwable) {
Timber.e(e)
progress.visibility = View.GONE
var message = getString(R.string.unable_to_merge)
if (e is HttpException) {
val code = e.response().code()
if (code == 406) {
message = getString(R.string.merge_request_already_merged_or_closed)
}
}
Snackbar.make(root, message, Snackbar.LENGTH_LONG)
.show()
}
override fun responseSuccess(mergeRequest: MergeRequest) {
progress.visibility = View.GONE
Snackbar.make(root, R.string.merge_request_accepted, Snackbar.LENGTH_LONG)
.show()
App.bus().post(MergeRequestChangedEvent(mergeRequest))
}
})
}
}
Loading
Loading
@@ -107,7 +107,7 @@ class MilestoneActivity : BaseActivity() {
 
toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { onBackPressed() }
toolbar.inflateMenu(R.menu.menu_milestone)
toolbar.inflateMenu(R.menu.close)
menuItemOpenClose = toolbar.menu.findItem(R.id.action_close)
toolbar.setOnMenuItemClickListener(Toolbar.OnMenuItemClickListener { item ->
when (item.itemId) {
Loading
Loading
Loading
Loading
@@ -62,7 +62,7 @@ class ProjectsActivity : BaseActivity() {
toolbar.setTitle(R.string.projects)
toolbar.setNavigationIcon(R.drawable.ic_menu_24dp)
toolbar.setNavigationOnClickListener { drawerLayout.openDrawer(GravityCompat.START) }
toolbar.inflateMenu(R.menu.menu_search)
toolbar.inflateMenu(R.menu.search)
toolbar.setOnMenuItemClickListener(onMenuItemClickListener)
viewPager.adapter = ProjectPagerAdapter(this, supportFragmentManager)
tabLayout.setupWithViewPager(viewPager)
Loading
Loading
Loading
Loading
@@ -40,7 +40,7 @@ class AccountViewHolder(view: View) : RecyclerView.ViewHolder(view) {
ButterKnife.bind(this, view)
 
popupMenu = PopupMenu(itemView.context, buttonMore)
popupMenu.menuInflater.inflate(R.menu.item_menu_account, popupMenu.menu)
popupMenu.menuInflater.inflate(R.menu.logout, popupMenu.menu)
 
buttonMore.setOnClickListener { popupMenu.show() }
}
Loading
Loading
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_cancel"
app:showAsAction="never"
android:title="@string/action_cancel"/>
</menu>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto">
 
<item
android:id="@+id/action_create"
android:id="@+id/action_delete"
app:showAsAction="ifRoom"
android:title="@string/action_create"/>
android:title="@string/action_delete"/>
 
</menu>
\ No newline at end of file
Loading
Loading
@@ -2,23 +2,9 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
 
<item
android:id="@+id/action_retry"
app:showAsAction="never"
android:title="@string/action_retry"/>
<item
android:id="@+id/action_erase"
app:showAsAction="never"
android:title="@string/action_erase"/>
<item
android:id="@+id/action_cancel"
app:showAsAction="never"
android:title="@string/action_cancel"/>
<item
android:id="@+id/action_download"
app:showAsAction="never"
android:title="@string/action_download"/>
</menu>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_erase"
app:showAsAction="never"
android:title="@string/action_erase"/>
</menu>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment